Seite 1 von 1

Bild erweitern

Verfasst: 10.03.2010 03:57
von Raycluster
Schönen guten Abend :)

Ich möchte die Größe eines Bildes verändern, ohne dabei den Inhalt zu skalieren. Ich habe zum Beispiel ein 800x600 Bild mit einem süßen Kätzchen drinnen, und möchte jetzt auf ein 800x800 Bild kommen. Die Katze soll allerdings nicht gestreckt werden, sondern oben und unten soll jeweils ein 100px breiter Farbstreifen entstehen, in dem nur eine Farbe enthalten ist und vertikal zentriert ist dann das Ursprungsbild.

Momentan löse ich das so, dass ich Pixel für Pixel mit Point() die Farbe aus dem Ursprungsbild extrahiere und dann mit Plot() entsprechend versetzt in ein neues Bild einsetze. Das funktioniert auch, allerdings ist das Ganze in der Form kacklangsam und daher unbrauchbar. Gibts eine bessere Methode, um die Zeichenfläche zu erweitern?

Re: Bild erweitern

Verfasst: 10.03.2010 04:04
von STARGÅTE
Erstelle dein neues Bild und "male" dort dein andere Bild einfach drauf:
Stichwort: Drawing2D:

Code: Alles auswählen

LoadImage(1, "hier den Dateinamen einsetzen")
CreateImage(2, 800, 800)
StartDrawing(ImageOutput(2))
 DrawImage(ImageID(1), 0, 100)
StopDrawing()
schon enthält das Image 2 das Bild von Image 3 prus einen schwarzen Strefen oben und unten ...

Re: Bild erweitern

Verfasst: 10.03.2010 04:24
von Raycluster
Ah super, danke =)
Noch ne kleine Nebenfrage, kann ich die Ausgabequalität des JPEG-Encoders beeinflussen?

Re: Bild erweitern

Verfasst: 10.03.2010 04:26
von STARGÅTE
Laut Hilfe ja, habs aber nie selber benutzt:
Ergebnis = SaveImage(#Image, DateiName$ [, ImagePlugin [, Flags]])

'Flags' ist ein optionaler Parameter abhängig vom verwendeten Plugin. Zurzeit wird nur die Einstellung der Bildqualität unterstützt: ein Wert von 0 (schlechteste Qualität) bis 10 (maximale Qualität). Nur die JPEG und JPEG 2000 Plugins unterstützen dies derzeit (standardmäßig ist die Qualität auf '7' festgelegt, wenn keine Flags angegeben werden).
Die Quallität gibst du also beim Speichern mit an:

Code: Alles auswählen

SaveImage(2, "MeinBild.jpg" , #PB_ImagePlugin_JPEG, 10)