帮忙翻译两句话(C#->delphi)(200)

  • 主题发起人 主题发起人 chbqq
  • 开始时间 开始时间
C

chbqq

Unregistered / Unconfirmed
GUEST, unregistred user!
这是C#判断jpg是CMYK分量还是rgb,delphi不知道有没有对应的函数, 希望能人帮帮忙 private string GetImageFlags(System.Drawing.Image img) { ImageFlags FlagVals = (ImageFlags)Enum.Parse(typeof(ImageFlags), img.Flags.ToString()); return FlagVals.ToString(); }private bool IsCMYK(System.Drawing.Image img) { string FlagVals = GetImageFlags(img); if ((FlagVals.IndexOf("Ycck") > -1) || (FlagVals.IndexOf("Cmyk") > -1)) { return true; } else { return false; } }
 
没研究过,不过有人用毛招解决过,呵呵:http://topic.csdn.net/t/20050602/23/4055457.htmlJPEG文件中前8个字节是FF D8 FF E1的为CMYK模式,而FF D8 FF E0的为RGB模式,这是我经过分析数百张图片后得出的结果,但是这肯定不是两者的本质区别,楼主自己看着办吧。
 
翻译个球,DELPHI不提供对于CMYK,RGB的判定,自己写函数。自己写算法。同意楼上的。如何查看JPG的的模式,你查找资料,应该到处都是。或者你看.NET的源代码自己翻译。
 
哈哈,xianjun不错!function JPEGImageType(jpgFile:String):Byte;{$I-} Var tmfl:file; flag:array [1..4] of byte;begin result:=0; // 无效 assignfile(tmfl,jpgFile); reset(tmfl,1); if ioresult<>0 then exit; blockread(tmfl,flag,4); closefile(); if ioresult<>0 then begin ; end; if (flag[4]:=$E1) then result:=1 // CMYK else if (flag[4]:=$E0) then result:=2 // RGB else result:=3; // 未知end;
 
xianjun的帖子我看过不管用,那个方法是错误的,我试了几张都通不过,不信用ps保存为cmyk的试试,当然wql的也一样
 
月薪15-50K招聘it administratorKnowledge in DCOM or COM+ (which is in essence the same thing) Knowledge in IIS version 5 or higher Knowledge of Troubleshooting worker processes in IIS 希望10月上旬立即开始上班 地点:北京 三元桥 薪资:面议(能力好的话salary不是问题) 要求:英文要好,读写听说均流利 简历发送邮箱:hr_grace@126.com。电话和我联系13947437351
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部