zoukankan      html  css  js  c++  java
  • 脱敏小软件

    通过修改图像文件的Exif信息中经纬度信息,使图像数据脱敏

    后续更新具体设计和思路

     项目地址:https://gitee.com/SmallUniv/ExifTool

    /*PropertyItem 中对应属性
        参考资料:https://docs.microsoft.com/en-us/dotnet/api/system.drawing.imaging.propertyitem.id?redirectedfrom=MSDN&view=netframework-4.7.2#System_Drawing_Imaging_PropertyItem_Id
         * ID    Property tag
           0x0000    PropertyTagGpsVer
           0x0001    PropertyTagGpsLatitudeRef
           0x0002    PropertyTagGpsLatitude
           0x0003    PropertyTagGpsLongitudeRef
           0x0004    PropertyTagGpsLongitude
           0x0005    PropertyTagGpsAltitudeRef
           0x0006    PropertyTagGpsAltitude
         */
     1    /// <summary>
     2     /// 删除图像的经纬度信息
     3     /// </summary>
     4     public class ExifUtil
     5     {
     6         /// <summary>
     7         /// 删除图像的经纬度信息,覆盖原图像
     8         /// </summary>
     9         /// <param name="IN_File">文件路径</param>
    10         public void DeleteCoord(string IN_File)
    11         {
    12             using (Stream ms = new MemoryStream(File.ReadAllBytes(IN_File)))
    13             {
    14                 using (Image image = Image.FromStream(ms))
    15                 {
    16                     DeleteCoordInfo(image);
    17                     image.Save(IN_File);
    18                 }
    19             }
    20         }
    21 
    22         
    23         /// <summary>
    24         /// 删除图像的经纬度信息,并另存为
    25         /// </summary>
    26         /// <param name="IN_File">文件路径</param>
    27         public void DeleteCoord(string IN_File, string IN_Save)
    28         {
    29             using (Stream ms = new MemoryStream(File.ReadAllBytes(IN_File)))
    30             {
    31                 using (Image image = Image.FromStream(ms))
    32                 {
    33                     DeleteCoordInfo(image);
    34                     image.Save(IN_Save);
    35                 }
    36             }
    37         }
    38         /// <summary>
    39         /// 删除图像的经纬度信息
    40         /// </summary>
    41         /// <param name="image"></param>
    42         public static void DeleteCoordInfo(Image image)
    43         {
    44             int[] ids = new[] { 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006 };
    45             foreach (int id in ids)
    46             {
    47                 if (image.PropertyIdList.Contains(id))
    48                 {
    49                     image.RemovePropertyItem(id);
    50                 }
    51             }
    52         }
    53     }
  • 相关阅读:
    383. Ransom Note
    598. Range Addition II
    453. Minimum Moves to Equal Array Elements
    492. Construct the Rectangle
    171. Excel Sheet Column Number
    697. Degree of an Array
    665. Nondecreasing Array
    视频网站使用H265编码能提高视频清晰度吗?
    现阶段的语音视频通话SDK需要解决哪些问题?
    企业远程高清会议平台视频会议系统在手机端使用的必备要求有哪些?
  • 原文地址:https://www.cnblogs.com/xinyf/p/10106746.html
Copyright © 2011-2022 走看看