GIMP로 LGTM 이미지를 만들어 보세요!(python-fu)
개시하다
원격 작업이 증가했습니다. 코드 평론 같은 것은 평론의 교환으로 끝납니다...적막
LGTM 이미지도 이러한 코드 리뷰에 색상을 더합니다!이번에는 무료 이미지 편집 소프트웨어GIMP의python-fu를 사용하여 LGTM 이미지를 제작합니다!
컨디션
성과물
완성형은 이런 느낌이에요.
편집 전
편집 후
출처#!/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이 추가된 이미지를 다음 단계에서 선택한 폴더에 저장합니다.
#!/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()
Library/Application Support/GIMP/2.10/plug-ins
LGTM이 추가된 이미지를 다음 단계에서 선택한 폴더에 저장합니다.
제작 방법
pythn-fu의 제작 방법에 관해서는 이전에 쓴 이 글을 참고하십시오
GIMP 스크립트 만드는 법?
이번에 만든 것은 반드시 문자의 추가, 문자의 테두리 추가 등 다양한 프로그램을 사용해야 하기 때문에 프로그램의 검색 방법을 기재하겠습니다.
이 보도는 매우 참고 가치가 있다.
GIMP를 사용하여 이미지의 레벨을 균일하게 보정(Pythn-Fu)
프로세스 검색 방법
GIMP(GNU 이미지 편집자)에서 해당 기능 찾기
예를 들어, 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 이미지를 양산하여 코드 리뷰에 색칠합시다
Reference
이 문제에 관하여(GIMP로 LGTM 이미지를 만들어 보세요!(python-fu)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/am10/items/9a8a38458b508307c060
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(GIMP로 LGTM 이미지를 만들어 보세요!(python-fu)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/am10/items/9a8a38458b508307c060텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)