Помогите написать ф-ю для копирования одной части рисунка в другой новый файл при етом сохраняя прозрачность:
вот нашел такую ф-юю но она упрямо не хочет работать или я делаю че не так
| Код | 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;
|
Здесь ветка на форуме http://forum.vingrad.ru/forum/topic-308175/view-all.html
Почему она не работает ???? |