Machen wir ein LGTM-Bild mit GIMP! (Python-Fu)

Einführung

Die Remote-Arbeit nimmt zu und Codeüberprüfungen enden mit dem Austausch von Kommentaren. .. .. Einsam: schluchzen: LGTM-Bilder verleihen solchen Code-Bewertungen Farbe! Dieses Mal werde ich ein LGTM-Bild mit Python-Fu der kostenlosen Bildbearbeitungssoftware GIMP erstellen!

Umgebung

Ergebnisse

Das ausgefüllte Formular sieht folgendermaßen aus

Vor dem Bearbeiten Nach der Bearbeitung
before after
source
#!/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("Bitte wählen Sie einen Ordner")
    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)
  #Mach es weiß
  pdb.gimp_text_layer_set_color(layer, (255, 255, 255, 1.0))
  return layer

def draw_shadow(image, text_layer):
  #Bereichsauswahl
  pdb.gimp_selection_none(image)
  pdb.gimp_image_select_item(image, 0, text_layer)

  #Farbeinstellung zeichnen
  maskcolor = (0, 0, 0, 1.0)
  pdb.gimp_context_set_foreground(maskcolor)

  opacity = 15 #mach es dünn
  shadow_layer = gimp.Layer(image, "shadow", image.width, image.height, RGB_IMAGE, opacity, NORMAL_MODE)
  image.add_layer(shadow_layer, 1) #Fügen Sie am Ende des Textes hinzu

  #Alpha-Kanal hinzufügen
  pdb.gimp_layer_add_alpha(shadow_layer)
  pdb.gimp_edit_clear(shadow_layer)
  shadow_layer.fill(TRANSPARENT_FILL)

  #Erweitern Sie die Auswahl
  pdb.gimp_selection_grow(image, 2)
  #füllen
  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
  #Bild speichern
  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')

  #Ausrichtung oben und unten in der Mitte
  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)

  #Ebenenintegration
  flatten_layer = pdb.gimp_image_flatten(image)

  #sparen
  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()

Kopieren Sie die obige Quelle, erteilen Sie Berechtigungen, speichern Sie sie im folgenden Ordner und starten Sie GIMP.

Library/Application Support/GIMP/2.10/plug-ins
python-fu

AddLGTM wird zu Filter (R) → Python-Fu hinzugefügt, wie im Bild gezeigt.

Wie benutzt man

Das Bild mit "LGTM" wird in dem nach dem folgenden Verfahren ausgewählten Ordner gespeichert.

  1. Öffnen Sie das Bild mit GIMP
  2. Filter (R) → Python-Fu → LGTM-Auswahl hinzufügen
  3. Wählen Sie Speicherziel
  4. OK

Wie man ... macht

In diesem Artikel, den ich zuvor geschrieben habe, erfahren Sie, wie Sie Python-Fu erstellen. Schreiben Sie, wie Sie ein GIMP-Skript (Python-Fu) erstellen? : Punch :: Punch:

Da ich für das diesmal erstellte Verfahren verschiedene Prozeduren wie das Hinzufügen von Zeichen und das Hinzufügen von Zeichenrändern verwenden musste, werde ich beschreiben, wie nach Prozeduren gesucht wird.

Dieser Artikel war sehr hilfreich. Stapelpegelkorrektur von Bildern mit GIMP (Python-Fu)

So finden Sie eine Prozedur

  1. Suchen Sie in [GIMP (GNU-Bildbearbeitungsprogramm)] nach der entsprechenden Funktion (https://docs.gimp.org/ja/).
  2. Verwenden Sie die GIMP-Hilfe (H) → Prozedur-Browser (B), um nach dem Ende der URL der entsprechenden Seite zu suchen.

Wenn Sie beispielsweise eine LGTM-Zeichenfolge auswählen und nach einer Prozedur suchen möchten, um diese Auswahl zu erweitern.

Es gibt eine Seite mit dem Namen 4.12. Auswahl erweitern ... Die URL lautet wie folgt. https://docs.gimp.org/ja/gimp-selection-grow.html Wenn Sie in der GIMP-Hilfe (H) → Prozedur-Browser (B) nach "Gimp-Auswahl-Wachstum" suchen, wird Folgendes getroffen.

procedure

Sie können die Auswahl um 2 Pixel erweitern, indem Sie "pdb.gimp_selection_grow (image, 2)" ausführen: clap:

schließlich

Ich habe versucht, es zu machen, weil ich GIMP schon lange verwenden wollte, aber es ist mühsam, es mit GIMP zu öffnen, um LGTM hinzuzufügen: verwirrt: Ich denke, es gibt viele andere Dienste zum Erstellen von LGTM-Bildern, sodass Sie danach suchen können: rollende_eyes: Das Skript enthält Kommentare. Wenn es Ihnen nicht gefällt, schreiben Sie es bitte neu und verwenden Sie es! Lassen Sie uns gemeinsam LGTM-Bilder in Massenproduktion herstellen und der Codeüberprüfung Farbe hinzufügen: fire:

Recommended Posts

Machen wir ein LGTM-Bild mit GIMP! (Python-Fu)
Erstellen Sie einen Stapel von Bildern und blasen Sie sie mit ImageDataGenerator auf
Erstelle Spiele mit Pygame
Erstellen Sie einen Filter mit scipy
Bild mit Python-Pptx zentrieren
LGTM - Erstellen Sie LGTM-Bilder mit Videos und Fotos und geben Sie GIF-Animationen aus
Erstellen Sie eine Web-API, die Bilder mit Django liefern kann
Laden Sie Bilder automatisch mit Scraping herunter
Angrenzende Bilder mit Python Teil 1
Erstellen Sie eine Umgebung mit virtualenv
Erstellen Sie eine API mit Django
Erstellen / Suchen / Erstellen einer Tabelle mit PynamoDB
Erstellen Sie ein 3D-GIF mit Python3
Speichern Sie Bilder mit Web Scraping
Plotly Erstellen Sie ein Diagramm mit einer Schaltfläche
Erstellen Sie eine Homepage mit Django
Erstellen Sie den Image Viewer mit Tkinter
Erstellen Sie benutzerdefinierte Regeln mit ElastAlert
Kombiniere zwei Bilder mit Django
Erstellen Sie ein Verzeichnis mit Python
Erstellen Sie eine Xlsx-Datei mit XlsxWriter
Starten Sie in 5 Minuten GIMP Python-Fu
Erstellen Sie mit Selenium ein Programm, mit dem Sie Ihr Lieblingsbild erstellen können