amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > 8 bit Alpha Kanal unter AmigaOS 4 [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2007-09-17, 16:06 h

AmigaPapst
Posts: 980
User
Hallo,

weiss jemand wie man unter C anhand der graphics.library unter OS4.0 mit einem 8 bit Alpha-Kanal arbeitet?
Ich möchte ein Png-Bild mit Alpha-Kanal oder alternativ zwei Bilder von dem eines die Alpha-Maske darstellt einladen und auf den Bildschirm blitten.
Codebeispiele wären mir am liebsten. Danke.

Ciao
Simon
--
:boing: AmigaOne XE G3 750FX 800Mhz/Sil0680/512MB + Radeon 9000 128 MB + AmigaOS 4
:dance1: A4000T CyberstormPPC 604e 200Mhz/060/128MB + CybervisionPPC 8MB + AmigaOS 3.9
und viele Amigas mehr...

[ - Answer - Quote - Direct link - ]

2007-09-17, 16:27 h

Der_Wanderer
Posts: 1229
User
OS4 weiss ich jetzt nicht genau, aber vermutlich ist das kompatibel zu AROS/AfAOS, da geht das so:

WritePixelArrayAlpha(DataPtr,SourceX,SourceY,BytesPerRow,RastPort,DestX,DestY,Width,Height,0xFFFFFFFF);

Das PixelArray muss das Format ARGB haben.


--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de



[ Dieser Beitrag wurde von Der_Wanderer am 17.09.2007 um 16:27 Uhr geändert. ]

[ - Answer - Quote - Direct link - ]

2007-09-17, 17:42 h

ZeroG
Posts: 1487
User
@Der_Wanderer:
WritePixelArrayAlpha() gibts unter OS4 nicht (zumindest soweit ich das im letzten öffendlichen SDK erkennen kann).

Da heißt es P96 benutzen oder vielleicht ablit: http://www.os4depot.net/index.php?function=showfile&file=development/library/ablit.lha

[ - Answer - Quote - Direct link - ]

2007-09-18, 13:05 h

Der_Wanderer
Posts: 1229
User
WritePixelArrayAlpha() ist eine Funktion aus der cybergraphix.h, nicht
aus der graphics.h.
Die graphics lib hat keine Funktionen für Alpha Blitten.

In Amiblitz3 habe ich das selbst implementiert, zuerst die Bitmaps auslesen mit ReadPixelArray, dann den Alphablit selbst machen (Pixlformat ist ja dann garantiert) und wieder mit WritePixelArray auf die Bitmap. Das ist zwar nicht das allerschnellste, aber sehr kompatibel und immer noch akzeptabel.


--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Answer - Quote - Direct link - ]

2007-09-18, 19:25 h

AmigaPapst
Posts: 980
User
@alle:
Danke schonmal für eure Antworten.

@Wanderer:
Danke für die Tipps, wenn es nicht anders geht werde ich auf vielleicht cyx zurückgreifen, aber eigentlich wollte ich das nicht mehr, weil ich nur noch unter AmigaOS 4 entwickle.

@ZeroG:
Ich finde bei P96 dazu keine Funktion.
Ablit ist nicht wirklich dokumentiert, wo bekommt man Codebeispiele her?
--
:boing: AmigaOne XE G3 750FX 800Mhz/Sil0680/512MB + Radeon 9000 128 MB + AmigaOS 4
:dance1: A4000T CyberstormPPC 604e 200Mhz/060/128MB + CybervisionPPC 8MB + AmigaOS 3.9
und viele Amigas mehr...

[ - Answer - Quote - Direct link - ]

2007-09-18, 21:25 h

Der_Wanderer
Posts: 1229
User
@AmigaPapst:

OS4 hat doch auch eine cgx compatible lib, wie jedes Picasso System, oder nicht ?
Aus welcher Lib holst du denn WriteRGBPixel oder ReadPixelArray ?

WritePixelArrayAlpha sollte es auf allen Platformen geben, ausser OS3.x wenn KEIN AfAOS installiert ist.

Wenn du dich also nicht von den nicht-OS4 Plattformen nicht abschotten willst, dann solltest du das verwenden oder eine eigene Alphablit Routine, so wie ich mit Read/WritePixelArray.
Das ist ziemlich leicht zu implementieren und lässt dir noch jede Menge Spielraum, z.B. add, sub modi etc.

--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Answer - Quote - Direct link - ]

2007-09-18, 22:12 h

ZeroG
Posts: 1487
User
@AmigaPapst:
Das sollte unter p96 mit p96WritePixel() und p96WritePixelArray() gehen.
Bei letzterem ist es allerdings etwas versteckt im RenderInfo Parameter.
Allerdings hab ich bis jetzt nur einmal in einem Projekt RGB-Pixel mit p96 geschrieben.


Die OS4-Version von Aweb und der dazugehörige PNG-Plugin benutzt eine alte ABlit version die noch eine linklibrary ist.
Aber die ist soweit ich weiß API-kompatibel.
Da man ja an den Quellcode von AWeb kommt, könntest du da mal reingucken.

Ansonsten ist der Autor von ABlit auf utilitybase.com unter dem Namen jorge angemeldet.
Und ich glaub auf amigaworld.net und amigans.net auch.

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > 8 bit Alpha Kanal unter AmigaOS 4 [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.