C# 判断上传图片是否被PS修改过的方法
今天在网上发现一个判断图片是否被Photoshop修改过的方法。发现还不错,呵呵。摘录下来。
讲下基本的原理:其实每张被photoshop修改过的图片都会有Adobe Photoshop这样的字样在图片的字节流里。用最简单的方法,你可以直接把一张图片拖到txt文档中打开,你会发现是乱码,但不要紧,你仔细搜索,肯定有Adobe Photoshop这几个字样,这就说明是被ps修改过的。呵呵。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class PsCheck : Form
{
public PsCheck()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Byte[] buffer = new Byte[5120];
using (FileStream fs = new FileStream("E:\\photo.jpg", FileMode.Open))
{
fs.Read(buffer, 0, buffer.Length);
}
string str = buffer[4869].ToString(); //A 65
str += buffer[4870].ToString();//d 100
str += buffer[4871].ToString();//o 111
str += buffer[4872].ToString();//b 98
str += buffer[4873].ToString();//e 101
str += buffer[4874].ToString();// 32
str += buffer[4875].ToString();//P 80
str += buffer[4876].ToString();//h 104
str += buffer[4877].ToString();//o 111
str += buffer[4878].ToString();//t 116
str += buffer[4879].ToString();//o 111
str += buffer[4880].ToString();//s 115
str += buffer[4881].ToString();//h 104
str += buffer[4882].ToString();//o 111
str += buffer[4883].ToString();//p 112
if (str == "65100111981013280104111116111115104111112")
{
MessageBox.Show("图片被PS修改过"); // PS处理过
}
else
{
MessageBox.Show("没被PS修改");
}
}
}
}
写个博客不容易,请转载的时候备注下原文出处,谢谢
作者:keepnode
博客地址:http://www.cnblogs.com/woaic
每件事到最后都是好事,如果不是好事,说明还没有到最后
=========================
作者:keepnode
博客地址:http://www.cnblogs.com/woaic
每件事到最后都是好事,如果不是好事,说明还没有到最后
=========================