MyBratva | Дата: Пятница, 01.07.2011, 22:37 | Сообщение # 1 |
Ранг 1
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
| Всем Привет... в общем хотел интерфейс программы сделать с использованием png изображений... и пробовал чтобы после загрузки 1го png-изображения в переменную, его части раскидывались по другим переменным или сразу наносились на форму! Пытался по аналогии с bitmap через CopyRect реализовать, но копировалось без учета прозрачности... Есть какие нибудь другие способы или методы копирования часть изображения для pngimage?
P/S Копируемые части можно и сразу на форму наносить, только координаты указывая!
[b]Добавлено[/b] (01.07.2011, 22:37) --------------------------------------------- хоть бы одну идейку подкинули, ну да ладно сам разобрался... спасибо. если кому надо
function CopyPNG(const PNG: TPNGObject; const R: TRect): TPNGObject; Var i, Xmax, Ymax: integer; Begin Xmax := R.Right-r.Left; Ymax :=R.Bottom-r.Top; Result := TPNGObject.CreateBlank(COLOR_RGBALPHA, 8, Xmax, Ymax); BitBlt(Result.Canvas.Handle, 0, 0, Xmax, Ymax, PNG.Canvas.Handle, R.Left, R.Top, SRCCOPY); For i := 0 to Ymax-1 do CopyMemory(Result.AlphaScanline[i], pByte(dword(PNG.AlphaScanline[i+R.Top])+R.Left), Xmax); End;
Сообщение отредактировал MyBratva - Пятница, 01.07.2011, 22:42 |
|
| |