![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с CopyRect
Hatawa © (2003-07-25 09:53:00)Уважаемые мастера, подскажите пожалуйста, почему может такое происходить - после выполнения нижеследующего кода в файл NewFilename сохраняется белый прямоугольник?
Если попробовать сделать то же самое в примере из Graphics32 - всё работает.
var WidthRatio : real;
HeightRatio : real;
Factor : extended;
FuckImage : TImage32;
Image ( self)
Уважаемые мастера, подскажите пожалуйста, почему может такое происходить - после выполнения нижеследующего кода в файл NewFilename сохраняется белый прямоугольник?
Если попробовать сделать то же самое в примере из Graphics32 - всё работает.
var WidthRatio : real;
HeightRatio : real;
Factor : extended;
FuckImage : TImage32;
Image : TImage;
begin
FuckImage:=Timage32.Create(self);
FuckImage.Visible:=false;
FuckImage.Parent:=self;
FuckImage.Bitmap.LoadFromFile(nFile);
WidthRatio := FuckImage.Bitmap.Width / ClientWidth;
HeightRatio := FuckImage.Bitmap.Height / ClientHeight;
Factor := Max(WidthRatio, HeightRatio)*1.1;
if (Factor < 1) then Factor := 1;
FuckImage.Width:=trunc(FuckImage.Bitmap.Width/factor);
FuckImage.Height:=trunc(FuckImage.Bitmap.Height/factor);
FuckImage.ScaleMode:=smScale;
FuckImage.Scale:=1/Factor;
FuckImage.Visible:=true;
Image:=TImage.Create(self);
Image.Parent:=self;
Image.Visible:=false;
Image.Width:=FuckImage.Width;
Image.Height:=FuckImage.Height;
image.Canvas.CopyMode:=srcCopy;
image.Canvas.CopyRect(FuckImage.Canvas.ClipRect,fuckimage.Canvas,FuckImage.Canvas.ClipRect);
Image.Picture.SaveToFile(NewFilename);
AlexT1000 (2003-07-25 15:52:00) [1]FuckImage ( FuckImage.Canvas{!!!!}.ClipRect,fuckimage.Canvas{!!!!},FuckImage.Canvas.ClipRect)
FuckImage : TImage32;
image.Canvas.CopyRect(FuckImage.Canvas{!!!!}.ClipRect,fuckimage.Canvas{!!!!},FuckImage.Canvas.ClipRect);
Что то я не помню у TImage32 свойства Canvas, а заодно и ClipRect!