Bmap creation - wrong Alpha values

Posted By: Benni003

Bmap creation - wrong Alpha values - 12/11/19 10:07

Hi,

I have an issue with pixel_to_bmap / bmap_fill / bmap_save. It is not creating the correct alpha values.
If I write 50 for the alpha value, it shows in photoshop L: 61 RGB: 147! At 50 Percent alpha RGB value should be 127.5!
All other alpha values create wrong L / RGB values, accept alpha percent is 0 or 100.

I need to have exact values.
Here are more examples: (first number is alpha value in Lite-C, second L in Photoshop and third alpha RGB in Photoshop.

0,0,0
5, 4, 14
20,30,71
40,52,124
50,61,147
70,78,193
90,93,235
100,100,255

Thanks
Posted By: txesmi

Re: Bmap creation - wrong Alpha values - 12/11/19 12:43

Hi,
I have been working with exact BYTE values on bitmaps and never realized of such a thing. Always got the values I was especting out. I use GIMP, so let me ask some questions.

Do you save the bitmap as TGA? Other formats might change the values, as palettized ones, such PCX, or compressed, such PNG.

Do Photoshop apply any color correction on importing proccess? Proffesional bitmap editing programs do commonly apply a color correction. Is there any option while importing?

Here goes the results of a new test of mine:
Code
#include <acknex.h>

void main () {
	wait(3);
	
	BMAP *_bmpT = bmap_createblack(16, 16, 32);
	bmap_fill(_bmpT, vector(128, 128, 128), 50);
	bmap_save(_bmpT, "b01.tga");
	wait(1);
	
	var _frm = bmap_lock(_bmpT, 0);
	var _pixel = pixel_for_vec(vector(128, 128, 128), 50, _frm);
	pixel_to_bmap(_bmpT, 0, 0, _pixel);
	bmap_unlock(_bmpT);
	bmap_save(_bmpT, "b02.tga");
	wait(1);
	
	var _frm = bmap_lock(_bmpT, 0);
	BYTE *_bits = _bmpT->finalbits;
	*(_bits + 3) = 127;
	bmap_unlock(_bmpT);
	bmap_save(_bmpT, "b03.tga");
	wait(1);
	
	bmap_remove(_bmpT);
	
	sys_exit(NULL);
}


The three bitmaps have the same exact values at pixel x0:y0

[Linked Image]
Posted By: Benni003

Re: Bmap creation - wrong Alpha values - 12/13/19 09:13

Hi txesmi,

Im using Photoshop and the TGA format.
I opened it with gimp and it shows the correct values. There was no problem within the code.
I also tried to open it with photoshop, saved it and reopened it with gimp. Still showing the correct values.

I dont know why photoshop is doing it, but problem solved ^^

Thank you
Posted By: txesmi

Re: Bmap creation - wrong Alpha values - 12/13/19 14:58

Your are welcome. I am glad of been of help.
© 2024 lite-C Forums