• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Delphi调用ImageMagickObject进行图片转换的代码

PHP 水墨上仙 2608次浏览

代码转自:http://www.pjblog.net/index.php?post/2004/10/12/46-imagemagickobject-et-delphi

procedure TFormMain.Convert( ImgSource, ImgDest:TImage; SizeX, SizeY : Integer;PixelFormat: TPixelFormat);
 var
   SrcName, DestName : String;
   sa_cmdline : Variant;
   Params : PSafeArray;
   StrList : TStringList;
   i : Integer;
 begin
   StrList := TStringList.Create;
   SrcName := ExtractFilePath(Application.ExeName)+'tmp.bmp';
   DestName := Format(ExtractFilePath(Application.ExeName)+'tmpdest%d_%d.bmp',[SizeX,ord(PixelFormat)]);
   ImgSource.Picture.SaveToFile(SrcName);
   StrList.Add('-geometry');
   StrList.Add(Format('%dx%d',[Sizex,SizeY]));
   Case PixelFormat of
     pf1bit  : begin
       StrList.Add('-monochrome');
       StrList.Add('-dither');
     end;
     pf4bit  : begin
       StrList.Add('-colors');
       StrList.Add('-16');
       StrList.Add('-dither');
     end;
     pf8bit  : begin
       StrList.Add('-colors');
       StrList.Add('-256');
       StrList.Add('-dither');
     end;
     pf16bit : begin
       StrList.Add('-colors');
       StrList.Add('-65536');
     end;
   end;
   StrList.Add(SrcName);
   StrList.Add(DestName);
   sa_cmdline := VarArrayCreate([0,StrList.Count-1], varVariant);
   for i := 0 to StrList.Count-1 do
     sa_cmdline[i]:=StrList[i];
   Params := PSafeArray(TVarData(sa_cmdline).VArray);
   MagickImage1.Convert(Params);
   ImgDest.Picture.LoadFromFile(DestName);
   StrList.Free;
 end;


喜欢 (0)
加载中……