赞
踩
最近在弄一个要set image类型fileproperty的方法,经过了几天的探索,终于找到了对应的办法,可以解决IGD+错误的问题,干了一些力气活,把每种property对应的value的值取到,然后设置成了一些枚举,通过转化能直接赋值,有需要的可以拿走,算是做了一些贡献,本文只是提供了一种办法,并不是很完美的代码,如果有能够改进或者错误的地方希望大神们指出
- public static void SetImagePropertyValue(FileInfo fileinfo, int propertyid,
- object value, ImagePropertyTagValueTypes type)
- {
- //Also can use Bitmap
- //http://stackoverflow.com/questions/15231161/value-of-image-property-c
- Image image = Image.FromFile(fileinfo.FullName);
- byte[] data = null;
- if ((short)type == 2)
- {
- switch (propertyid)
- {
- case PropertyTagDateTaken:
- DateTime tempvalue = (DateTime)value;
- data = ConvertDateTimeValue(tempvalue);
- break;
- default:
- string tempValue = (string)value;
- data = Encoding.ASCII.GetBytes(tempValue);
- break;
- }
- }
- if ((short)type == 3)
- {
- switch (propertyid)
- {
- case PropertyTagRating:
- data = ConvertRatingValue(value);
- break;
- default:
- int tampa = (int)value;
- UInt16 tempvalue = (UInt16)tampa;
- data = ConvertInt16ToByteArry(tempval
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。