有些照片,想用ImageEN來批量處理,縮小尺寸,不知用哪個控制元件方法?
uj5u.com熱心網友回復:
ImageEN比較好用啊,我很多年用過。uj5u.com熱心網友回復:
imageEN 功能比較強大的,可縮放,可旋轉。如果只是自適應縮放的話,用自帶的image就能完成。uj5u.com熱心網友回復:
用TBitMap去繪制,轉存一下就縮小了。BitMap.Canvas.Draw..........uj5u.com熱心網友回復:
縮小尺寸,比較好辦。使用Image,就可以。參考代碼:
procedure TSeleteImageFrm.ChangeAnyPixels(Bmp: TBitmap; NewBmp: TBitmap; Width,Height:Integer);代碼僅供參考。
// Bmp源圖 NewBmp新圖 Width Height 像素寬 高
begin
NewBmp.Width:=Width;
NewBmp.Height:=Height;
NewBmp.Canvas.StretchDraw(NewBmp.Canvas.ClipRect,Bmp);
end;
procedure TSeleteImageFrm.Button2Click(Sender: TObject);
var MyRect, NewRect: TRect;
Bmp,NewBmp: TBitmap;
FileName:string;
begin
Image1.Picture.LoadFromFile(FileNAME);
Bmp:=TBitmap.Create;
NewBmp:=TBitmap.Create;
MyRect := Rect(XX1,YY1,XX2,YY2);
NewRect := Rect(0,0,XX2-XX1, YY2-YY1);
Bmp.Canvas.CopyRect(NewRect,Image1.Canvas, MyRect);
case ComboBox1.ItemIndex of // 縮少
0: ChangeAnyPixels(Bmp,NewBmp,100,133);
1: ChangeAnyPixels(Bmp,NewBmp,150,200);
2: ChangeAnyPixels(Bmp,NewBmp,200,266);
3: ChangeAnyPixels(Bmp,NewBmp,225,300);
4: ChangeAnyPixels(Bmp,NewBmp,300,400);
end;
Image1.Picture.Bitmap.Assign(NewBmp);
Image1.SaveToFile(ImagePath+TempName+'.bmp');
Bmp.Free;
NewBmp.Free;
end;
uj5u.com熱心網友回復:
無須寫任何代碼,ImageEn即有縮放功能。我估計你要的是如何壓縮圖片。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/35957.html
標籤:VCL組件開發及應用
