"Manipulieren" eines Bildes?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Dusselchen14

Betreff: "Manipulieren" eines Bildes?

BeitragMi, Nov 11, 2009 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
Also, sagen wir ich habe ein beliebiges bild und möchte, dass genau in die Mitte des Bildes ein beliebiger text geschrieben wird, und es dann mit dem text wieder abgespeichert/neu angelegt wird.
Wie kriege ich nun den Text auf das bild?
Geht das überhaupt irgendwie mit B3D?
Ich hoffe das war verständlich^^
MFG
Dusselchen14

Xeres

Moderator

BeitragMi, Nov 11, 2009 23:46
Antworten mit Zitat
Benutzer-Profile anzeigen
setbuffer imagebuffer, Text, savebuffer - Sollte kein zu großes Problem darstellen Wink
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Nov 11, 2009 23:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 800,600,0,2

Local I=CreateImage(400,300)

SetBuffer ImageBuffer(I)

Text 200,150,"jo alter",1,1

SaveBuffer ImageBuffer(I),"d:\t.bmp"


Edit1: Sorry Xeres, hast natürlich Recht mit der Eigeninitiative.
 

Fredko

BeitragMi, Nov 11, 2009 23:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich geht das.
Zuerst musst du sagen, wohin gezeichnet werden soll. Normalerweise
wäre das der BackBuffer(). Nun nimmst du einfach SetBuffer
ImageBuffer(deinBildHandle%) und nutzt ganz normal Text, und speicherst
das Bild dann anschließend mit SaveImage oder SaveBuffer.
Als Code also:

BlitzBasic: [AUSKLAPPEN]

...

meinBild=LoadImage(meinBildPfad);Bild laden nach der Variable

SetBuffer ImageBuffer(meinBild);Sagen, dass in das Bild gemalt werden soll

meinText$="Hallo Welt!";Der Text
meinTextx=StringWidth(meinText);Breite des Textes
meinTexty=StringHeight(meinText);Höhe des Textes


meinBildx=ImageWidth(meinBild);Breite des Bildes
meinBildy=ImageHeight(meinBild;Höhe des Bildes

Text meinBildx/2-meinTextx/2,meinBildy/2-meinTexty/2,meinText
;Hier wird nun in der Mitte, also Breite und Höhe des
;Bildes durch 2 geteilt jeweils noch die halbierte
;Breite und Höhe abgezogen, womit man es wunderbar
;zentriert hat

SetBuffer BackBuffer();zurück zum BackBuffer()

SaveImage(meinBild,meinBildPfad);Und nun das Bild abspeichern

...


Nebenbei sollte die Farbe des Textes unbedingt ungleich des Hintergrundes
sein Wink

Edit:Ui. Schon von 2en eingeholt worden.
!

Dusselchen14

BeitragMi, Nov 11, 2009 23:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke^^
Seeehr viel leichter als ich dachte!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group