Показать сообщение отдельно
Старый 04.07.2008, 15:37   #20
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_alpha: Прозрачность картинок

Где ж оно будет переходить если написано:
load_image := alpha.SetOpaque(load_image,alpha.GetAlphaLevels);?
Во-первых, нужно поставить i вместо выделенного, во-вторых, картинку каждый раз нужно грузить снова, т.к. он уже после первой обработки не содержит ни одного белого пиксела.

Тогда уж так:
uses alpha;

var 	load_image,im : image;
			im_h, im_w, h, w, ph, pw, i : integer;

begin
	
	load_image := loadImage('/img.png');
	
	h  := getHeight;
	w := getWidth;
	im_w := getImageWidth(load_image);
	im_h := getImageHeight(load_image);
	
	(* вычиселение новых координат :) *)
	
	ph := h / 2;
	pw := (w / 2) - (im_w / 2);

	alpha.SetTransparentColor(255,255,255);
	setColor(0, 0, 0);
	for i := alpha.GetAlphaLevels downto 0 do
	begin
	 FillRect(0, 0, w, h);
   im := alpha.SetOpaque(load_image,I);
	 DrawImage(im, pw, ph);
   repaint;
	 delay(10);
	end;
	
setcolor(255,255,255);
		drawText('Hello world!', 0, 0);
		repaint;	
		delay(2000);
end.

Последний раз редактировалось ViNT, 04.07.2008 в 15:47.
(Offline)
 
Ответить с цитированием