Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: Admin 
Форум » Все о Delphi » Графика и игры » Копирование части PNG
Копирование части PNG
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)
---------------------------------------------
cry хоть бы одну идейку подкинули, ну да ладно сам разобрался... спасибо.
если кому надо wink

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
 
Форум » Все о Delphi » Графика и игры » Копирование части PNG
Страница 1 из 11
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz