website logo
Auteur
avatar
zzd10h

Forum » » Création-Développement » » Datatype, Bitmap et canal Alpha : ReadPixelArray ?


Posté : 03-04-2013 18:57 icone du post

Merci beaucoup Alain,
c'était bien la remise à l'échelle qui posait problème.

avec scaling KO :
http://zzd10h.amiga-ng.org/Divers/Alpha_Scale.jpg

sans scaling OK :
http://zzd10h.amiga-ng.org/Divers/Alpha_NoScale.jpg

Ca ne m'arrange pas mais je pourrais au moins les afficher en taille réélle.

Merci beaucoup pour ton aide et ton exemple ;)
Trop fort !!!

Si ça intérésse qq'un, voila comment affichier un png alpha dans un Bitmap MUI.

http://zzd10h.amiga-ng.org/Divers/Alpha_Code_OK.txt

if(DoMethod(dtype, DTM_PROCLAYOUT, NULL, 1))
{
res = GetDTAttrs(dtype,
PDTA_DestBitMap, &bitmap_vignette,
PDTA_BitMapHeader, (ULONG)&bmhd,
TAG_DONE);

lock = p96LockBitMap(bitmap_vignette,(UBYTE*)&renderInfo, sizeof(renderInfo));
srcBytesPerRow = p96GetBitMapAttr(bitmap_vignette, P96BMA_BYTESPERROW);

IDoMethod(dtype,
PDTM_READPIXELARRAY,
renderInfo.Memory,
PBPAFMT_ARGB,
srcBytesPerRow,
0,
0,
bmh->bmh_Width,
bmh->bmh_Height);

p96UnlockBitMap(bitmap_vignette, lock);
SetAttrs(Im_Data_bmp, MUIA_Bitmap_Alpha,0xFFFFFFFF, MUIA_Bitmap_Transparent,0,MUIA_Bitmap_Width, bmh->bmh_Width,MUIA_Bitmap_Height, bmh->bmh_Height, MUIA_Bitmap_Bitmap, bitmap_vignette, TAG_DONE);
}

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1514&forum=14