GIMP로 LGTM 이미지를 만들어 보세요!(python-fu)

15447 단어 GIMPPython

개시하다


원격 작업이 증가했습니다. 코드 평론 같은 것은 평론의 교환으로 끝납니다...적막
LGTM 이미지도 이러한 코드 리뷰에 색상을 더합니다!이번에는 무료 이미지 편집 소프트웨어GIMP의python-fu를 사용하여 LGTM 이미지를 제작합니다!

컨디션

  • macOS Cattalina 버전 10.15.3
  • GIMP 2.10.14
  • Python 2.7.15
  • 성과물


    완성형은 이런 느낌이에요.
    편집 전
    편집 후


    출처
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    from gimpfu import *
    import os
    
    def plugin_main(image, layer, dir_path):
      if (not type(dir_path) == type("") or not len(dir_path)):
        gimp.message("フォルダを選択して下さい")
        return
    
      add_lgtm(image, layer, dir_path)
    
    def draw_text(image, size, text):
      layer = pdb.gimp_text_layer_new(image, text, "Hiragino Sans", size, 0)
      image.add_layer(layer)
      # 白色にする
      pdb.gimp_text_layer_set_color(layer, (255, 255, 255, 1.0))
      return layer
    
    def draw_shadow(image, text_layer):
      # 範囲選択
      pdb.gimp_selection_none(image)
      pdb.gimp_image_select_item(image, 0, text_layer)
    
      # 描画色の設定
      maskcolor = (0, 0, 0, 1.0)
      pdb.gimp_context_set_foreground(maskcolor)
    
      opacity = 15 # 薄くする
      shadow_layer = gimp.Layer(image, "shadow", image.width, image.height, RGB_IMAGE, opacity, NORMAL_MODE)
      image.add_layer(shadow_layer, 1) # テキストの背面に追加
    
      # アルファチャンネルの追加
      pdb.gimp_layer_add_alpha(shadow_layer)
      pdb.gimp_edit_clear(shadow_layer)
      shadow_layer.fill(TRANSPARENT_FILL)
    
      # 選択範囲拡大
      pdb.gimp_selection_grow(image, 2)
      # 塗りつぶし
      pdb.gimp_edit_fill(shadow_layer, FOREGROUND_FILL)
    
    def cal_font_size(image):
      width = image.width / 4
      height = image.height
      max_font_size = 160
      return min([width, height, max_font_size])
    
    def save_file(image, layer, dir_path, file_name): 
      file_path = dir_path + '/' + file_name
      #画像を保存
      pdb.file_png_save(image, layer, file_path, file_path, 1.0, 0, 0, 0, 0, 0, 0)
    
    def add_lgtm(image, layer, dir_path): 
      font_size = cal_font_size(image)
      text_layer = draw_text(image, font_size, 'LGTM')
    
      # 上下中央寄せ
      x = image.width/2 - text_layer.width/2
      y = image.height/2 - text_layer.height/2
      text_layer.set_offsets(x, y)
    
      draw_shadow(image, text_layer)
    
      # レイヤー統合
      flatten_layer = pdb.gimp_image_flatten(image)
    
      # 保存
      file_name = 'lgtm.png'
      save_file(image, flatten_layer, dir_path, file_name)
    
    register(
      "python_fu_add_lgtm",
      "Add LGTM",
      "Add LGTM text",
      "am",
      "am",
      "2020/5/11",
      "<Image>/Filters/Languages/Python-Fu/AddLGTM", 
      "RGB*, GRAY*", 
      [
      (PF_DIRNAME, "directory_path", "Save directoryPath", ""),
      ],
      [], 
      plugin_main) 
    
    main()
    
    위의 소스를 복사하고 권한을 부여한 다음 다음 다음 폴더에 저장하고 GIMP를 시작합니다.
    Library/Application Support/GIMP/2.10/plug-ins
    

    그림과 같이 필터(R)→Python-Fu에 AddLGTM이 추가되었습니다.

    사용법


    LGTM이 추가된 이미지를 다음 단계에서 선택한 폴더에 저장합니다.
  • GIMP로 이미지 열기
  • 필터(R)→Pythn-Fu→AddLGTM 선택
  • 목적지 선택 저장
  • OK
  • 제작 방법


    pythn-fu의 제작 방법에 관해서는 이전에 쓴 이 글을 참고하십시오
    GIMP 스크립트 만드는 법?
    이번에 만든 것은 반드시 문자의 추가, 문자의 테두리 추가 등 다양한 프로그램을 사용해야 하기 때문에 프로그램의 검색 방법을 기재하겠습니다.
    이 보도는 매우 참고 가치가 있다.
    GIMP를 사용하여 이미지의 레벨을 균일하게 보정(Pythn-Fu)

    프로세스 검색 방법


  • GIMP(GNU 이미지 편집자)에서 해당 기능 찾기
  • GIMP 도움말(H)→프로세스 브라우저(B)로 해당 페이지의 URL 끝
  • 검색
    예를 들어, LGTM 문자열을 선택하여 선택 범위를 확대하는 프로세스를 검색하는 경우
    한 페이지4.12. 선택 영역을 확대합니다.가 있습니다.
    URL은 다음과 같습니다.
    https://docs.gimp.org/ja/gimp-selection-grow.html
    GIMP의 도움말(H)→프로세스 브라우저(B)에서 검색gimp-selection-grow하면 다음이 인기다.
    pdb.gimp_selection_grow(image, 2) 2px 옵션 확대

    최후


    GIMP를 참고로 하고 싶어서 했는데 LGTM을 추가하기 위해 일부러 GIMP로 켜는 건 귀찮아요
    나는 LGTM 이미지의 제작과 다른 다양한 서비스가 있다고 생각한다. 검색해 볼 수 있다
    스크립트에 많은 댓글을 달았으니 마음에 안 드는 점이 있으면 각자 다시 써주세요!
    다 같이 LGTM 이미지를 양산하여 코드 리뷰에 색칠합시다

    좋은 웹페이지 즐겨찾기