amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > BitMap: Wie kann man einzelne Pixel verändern? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

07.07.2005, 15:02 Uhr

Amigalien
Posts: 63
Nutzer
PROBLEM GELÖST








Hallo alle zusammen,
wie kann ich einzelne Pixel einer BitMap verändern?

Nehmen wir mal als Beispiel, dass ich das Pixel X=3;Y=10 auf schwarz ändern möchte.

Ich danke euch schon einmal für eure Hilfe.

[ Dieser Beitrag wurde von Amigalien am 07.07.2005 um 16:11 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

07.07.2005, 15:05 Uhr

Ralf27
Posts: 2779
Nutzer
Also, ich würde da auf WritePixel tippen:
WritePixel rp&,x,y

die Farbe halt halt mit SetAPen verändern:
SetAPen rp&,Farbstiftnummer
--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

07.07.2005, 15:09 Uhr

Amigalien
Posts: 63
Nutzer
@Ralf27:
Hallo Ralf27,
mit WritePixel(); schreibt man meiner Meinung nach lediglich auf RastPorts, nicht aber auf eine BitMaps. Ich plane allerdings die BitMap im Speicher zu behalten, zu verändern und erst danach diese auf ein Fenster zu malen.

Trotzdem danke für deinen Vorschlag.

[ - Antworten - Zitieren - Direktlink - ]

07.07.2005, 15:19 Uhr

Ralf27
Posts: 2779
Nutzer
Zitat:
Original von Amigalien:
@Ralf27:
Hallo Ralf27,
mit WritePixel(); schreibt man meiner Meinung nach lediglich auf RastPorts, nicht aber auf eine BitMaps. Ich plane allerdings die BitMap im Speicher zu behalten, zu verändern und erst danach diese auf ein Fenster zu malen.

Trotzdem danke für deinen Vorschlag.


Da hast du recht, aber wie wäre es z.b. wenn du zu der Bitmap ein Rastport generieren würdest?
--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

07.07.2005, 15:22 Uhr

thomas
Posts: 7716
Nutzer


code:
void WriteBitMapPixel (struct BitMap *bm,long x,long y)
{
struct RastPort rp;
InitRastPort (&rp);
rp.BitMap = bm;
WritePixel (&rp,x,y);
}


Um der Performance Willen solltest du den RastPort natürlich im Hauptprogramm halten und nicht wie hier jedesmal neu initialisieren.

Außerdem übernimmt dieser temporäre RastPort kein Clipping. Du mußt also selbst darauf achten, daß du nur im Bereich der Bitmap zeichnest, sonst gibt's Gurus.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

07.07.2005, 16:11 Uhr

Amigalien
Posts: 63
Nutzer
@ Ralf27 & thomas:

Ich danke euch beiden für eure Hilfe.

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > BitMap: Wie kann man einzelne Pixel verändern? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.