Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Canvas [D3, Win95/98]


xman ©   (2004-05-25 22:01:00) 

Помогите с затемнением прямоугольника. Есть image1.picture.bitmap.canvas в нем расположена картинка, как зделать прямоугольник (пусть 20 на 50) который немного затемнит картинку в нем? т.е. каждый пиксель в этом прямоугольнике легонько затемнит.


xman   (2004-06-07 00:12:00) [1]

при прсмотре ссылки, я не стал разбиратся сильно там накручено.
И я нашол другой способ, если каму надо держите...


procedure ....
type TRGB=record
b,g,r:byte;  // b-синий, g-зеленый, r-красный цвет
end;
   ARGB=array [0..1] of TRGB;
   PARGB=^ARGB;
var p:PARGB;
   x,y:integer;
   b:tbitmap;
begin
   b:=tbitmap.create;
   b.loadfromfile(путь к картинке);
   
for y:=100 to 200 do
begin
 p:=b.scanline[y];
 for x:=100 to 200 do
   begin
     p[x].r:=trunc(p[x].r/1.2);
     p[x].g:=trunc(p[x].g/1.2);
     p[x].b:=trunc(p[x].b/1.2); // где 1.2 значение затемнения
   end;
end;
image1.picture.bitmap.canvas.draw(0,0,b);
// насчет этой строки не уверен
end;


Luk   (2004-05-26 00:37:00) [2]

Посмотри как делается прозрачность:
http://delphibase.endimus.com/?action=viewfunc&topic=mediaimg&id=10300
Если мозги есть, разберешься со своей задачей.


Наверх

Титульная страница Поиск, карта сайта Написать письмо