View Full Version : سوال: تغییر رزولوشن عکس ؟
saeed729
یک شنبه 12 خرداد 1392, 08:55 صبح
سلام دوستان
به نظر شما چطوری میشه رزولوشن یک عکس رو تغییر داد؟
مثلا از رزولوشن 178.512 به 255
با تشکر.
بهروز عباسی
دوشنبه 13 خرداد 1392, 01:03 صبح
الان خستم حوصله نداشتم از این بهتر بنویسم.
function Resize_Image(const ASrcBitmap: TBitmap;
const APercent: extended): TBitmap;
var
R: TRect;
FResize_bmp: TBitmap;
FResize_jpg: TJpegImage;
begin
FResize_bmp := TBitmap.Create;
FResize_jpg := TJpegImage.Create;
try
FResize_bmp.FreeImage;
FResize_jpg.Assign(ASrcBitmap);
R := Rect(0, 0, Round(FResize_jpg.Width * APercent),
Round(FResize_jpg.Height * APercent));
FResize_bmp.Width := R.Right;
FResize_bmp.Height := R.Height;
FResize_bmp.Canvas.StretchDraw(R, FResize_jpg);
Result := FResize_bmp;
finally
end;
end;
{0.80}
ResultBitmap := Resize_Image(ResultBitmap, ResizePercent)
saeed729
دوشنبه 13 خرداد 1392, 15:25 عصر
سلام
ممنون از مثالی که زدید.
فقط روش استفاده از Resize_Image که گفتید چه شکلی هست؟
با تشکر.
یوسف زالی
دوشنبه 13 خرداد 1392, 15:27 عصر
در توضیح مثال دوستمون:
از StretchDraw استفاده کنید. در شی Canvas
Image2.Canvas.StretchDraw(Rect(1, 1, 100, 100), Image1.Picture.Graphic);
اصل کار رو همین کد انجام می ده. بقیه برای سایز عکس خروجی و فرمتش هست.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.