Seite 1 von 1

Hintergrundfarbe eines Bildes ändern

Verfasst: 12.09.2009 20:50
von Donald
Hi,

sagt mal kann man ... und wenn ja wie. die Hintergrundfarbe eines Bildes ändern.
Beispiel:
Ich habe ein großes Bild mit einem Blauen Hintergrund, Nun möchte ich einen
kleinen Bildausschnitt eines anderen Bildes in dieses Kopieren, welches auch
soweit wunderbar klappt.
Und jetzt mein eigentliches anliegen, der kleine Bildausschnitt hat aber leider
eine andere Hintergrundfarbe, welche nun auch in Blau geändert werden sollte.
Wie geht man dabei am besten vor ?
Oder gibt es dafür einen Befehl den ich in der Hilfedatei nicht gefunden habe ?

Gruß Donald

Re: Hintergrundfarbe eines Bildes ändern

Verfasst: 12.09.2009 21:21
von Kaeru Gaman
wenn die "Hintergrundfarbe" in einem Stück zusammenhängend vom Rand ausgeht, kannst du ein Floodfill benutzen.

andernfalls müßrest du die komplette Bildinformation durchgehen, und deine "Hintergrundfarbe" direkt ändern.
ist per Point/Plot sehr langsam, per pointer auf drawingbuffer schneller, und am schnellsten mit direktem Zugriff auf den Speicher.

... oder du gehst über Sprites, da kannst du eine Transparenzfarbe direkt angeben.

Re: Hintergrundfarbe eines Bildes ändern

Verfasst: 13.09.2009 12:36
von Donald
Hi,

hab ein wenig experimentiert mit den Befehlen GetPixel_ und SetPixel_
Auf einem "normalen" Fenster wurde auch der angegeben Punkt geändert.
Aber das Funktioniert nicht mit den Daten die in einem ImageGadget stehen.
Wie bekommt man diese denn nun geändert.
Hab da keinen blassen schimmer, da ich bisher noch nie was mit "Grafikproggen"
zu tun hatte. Vielleicht könnte ja mal jemand ein paar Programmzeilen reinsetzen,
wie ich z.B. herausbekomme welche Farbe ein Punkt hat und wie man diesen in
eine andere Farbe ändert bei den Daten die in einem ImageGadget stehen.

Gruß Donald

Re: Hintergrundfarbe eines Bildes ändern

Verfasst: 13.09.2009 12:38
von Kaeru Gaman
ist es denn ein Image?
dann geh lieber übers Image statt übers Gadget.
http://www.purebasic.fr/english/viewtop ... 13&t=39036

wenn du aufs Gadget zugreifen willst, musst du natürlich als hWnd nicht WindowID sondern GadgetID angeben...

Re: Hintergrundfarbe eines Bildes ändern

Verfasst: 13.09.2009 12:40
von ts-soft
> GetPixel_ und SetPixel_
Unter PB4.40 solltest die API vermeiden und Plot bzw. Point nutzen.

Gruß

Thomas

Re: Hintergrundfarbe eines Bildes ändern

Verfasst: 13.09.2009 12:53
von Donald
Hi,

@Kaeru Gaman
Das ich dann GadgetID angeben muß ist schon klar, hatte ich ja auch gemacht, aber ging nicht.

@ts-soft
Thomas, Plot und Point habe ich doch glatt übersehen.
Werde es mal damit versuchen, DANKE

Ich geb dann bescheid ob es geklappt hat, oder woran es noch hapert.

Gruß Donald

Re: Hintergrundfarbe eines Bildes ändern

Verfasst: 13.09.2009 14:41
von Donald
Hi,

alles bestens, klappt so wie es soll.
Danke für Eure Hilfe und Tips.

Gruß Donald

Re: Hintergrundfarbe eines Bildes ändern

Verfasst: 13.09.2009 14:52
von gnasen
Dachte ist vllt ganz interessant falls du dir das ganze, wie Kaeru geschrieben hatte, mal mit direkter Speichermanipulation anschauen willst:

http://forums.purebasic.com/german/view ... 2&p=228430

Session-ID aus dem Link genommen - Kaeru fecit