C#中Bitmap类 对图像の操作 可检测图片完整性

摘要:
try{Bitmapbm=newBitmap;BitmapToBytes.Reverse().Take;}catch{stringmgName=Path.GetFileName;File.Move;}publicstaticbyte[]BitmapTobyte{try使用{Bitmap.Save;byte[]byteImage=newByte[ms.Longth];byteImage=ms.ToArray();returnbyteImage;}最后{}}BitmapToBytes.RReverse然后判断217255是否将文件作为二进制文件打开。读取最后两个字节进行判断。或者全部阅读。从最后找到ffd9。如果发现了,则表示可以。有时使用相机网络服务器传输图片时,网络突然断开,导致图片不完整。上部为图片,线路板部分无法预览。

try
{

Bitmap bm = new Bitmap(pics[ip]);
BitmapToBytes(bm).Reverse().Take(2);

}
catch (Exception ex)
{
string imgName = Path.GetFileName(pics[ip]);
File.Move(pics[ip], txtImgDir.Text + "\badimg\" + imgName);
}

public static byte[] BitmapToBytes(Bitmap Bitmap)
        {
            try
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    Bitmap.Save(ms, Bitmap.RawFormat);
                    byte[] byteImage = new Byte[ms.Length];
                    byteImage = ms.ToArray();
                    return byteImage;
                }
            }
            finally
            {
 
            }
        }
        BitmapToBytes(img).Reverse().Take(2);//然后判断是不是217,255

以二进制文件打开文件. 读取最后2个字节判断一下.
或者读取全部,从结尾处开始查找ffd9,找到了就表示OK.

 
有时候用相机网服务器传图片的时候,突然断网,造成图片不完整,都是上半部分是图片,线板部分,不能预览。怎样用C#判断图片(jpg)是否完整

C#中Bitmap类实现对图像操作的一些方法

导入以下两个包:
System.Drawing;
System.Drawing.Imaging;
 
建产对象:
Bitmap bm = new Bitmap("c:/1.bmp");
 
缩放:
Bitmap bm1 = new Bitmap(bm,width,height);
 
格式转换:
bm.save("c:/1.jpg",ImageFromat.Jpeg);
bm1.Save("c:/1.gif", ImageFormat.Gif);
 
剪切一个区域:
//剪切大小
int cutwidth;
int cutheight;
Graphics g;
//以大小为剪切大小,像素格式为32位RGB创建一个位图对像
Bitmap bm1 = new Bitmap(width,height,PixelFormat.Format32bppRgb) ;
//定义一个区域
Rectangle rg = new Rectangle(0,0,cutwidth,cutheight);
//要绘制到的位图
g = Graphics.FromImage(bm1);
//将bm内rg所指定的区域绘制到bm1
g.DrawImage(bm,rg)
============================================
C#Bitmap代替另一个Bitmap的某部分
Bitmap bm = new Bitmap(宽度, 高度);// 新建一个 Bitmap 位图
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bm); // 根据新建的 Bitmap 位图,创建画布
g.Clear(System.Drawing.Color.Black);// 使用黑色重置画布
g.DrawImage(源位图, ......); // 绘制“源位图”,后面有若干参数控制大小、坐标等等功能。
==================================================
C# 图片处理之:旋转图片任意角度
C#中Bitmap类 对图像の操作 可检测图片完整性第1张C#中Bitmap类 对图像の操作 可检测图片完整性第2张/// <summary>
C#中Bitmap类 对图像の操作 可检测图片完整性第3张///任意角度旋转
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 /// </summary>

C#中Bitmap类 对图像の操作 可检测图片完整性第3张/// <param name="bmp">原始图Bitmap</param>
C#中Bitmap类 对图像の操作 可检测图片完整性第3张/// <param name="angle">旋转角度</param>
C#中Bitmap类 对图像の操作 可检测图片完整性第3张/// <param name="bkColor">背景色</param>
C#中Bitmap类 对图像の操作 可检测图片完整性第8张/// <returns>输出Bitmap</returns>
C#中Bitmap类 对图像の操作 可检测图片完整性第9张 public static Bitmap KiRotate(Bitmap bmp, floatangle, Color bkColor)
C#中Bitmap类 对图像の操作 可检测图片完整性第1张C#中Bitmap类 对图像の操作 可检测图片完整性第2张 ...
{
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 int w = bmp.Width + 2
;
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 int h = bmp.Height + 2
;
C#中Bitmap类 对图像の操作 可检测图片完整性第3张
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 PixelFormat pf;
C#中Bitmap类 对图像の操作 可检测图片完整性第3张
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 if (bkColor ==
Color.Transparent)
C#中Bitmap类 对图像の操作 可检测图片完整性第18张C#中Bitmap类 对图像の操作 可检测图片完整性第2张 ...
{
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 pf =
PixelFormat.Format32bppArgb;
C#中Bitmap类 对图像の操作 可检测图片完整性第21张 }

C#中Bitmap类 对图像の操作 可检测图片完整性第3张else
C#中Bitmap类 对图像の操作 可检测图片完整性第18张C#中Bitmap类 对图像の操作 可检测图片完整性第2张...{
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 pf =
bmp.PixelFormat;
C#中Bitmap类 对图像の操作 可检测图片完整性第21张 }

C#中Bitmap类 对图像の操作 可检测图片完整性第3张
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 Bitmap tmp
= newBitmap(w, h, pf);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 Graphics g =
Graphics.FromImage(tmp);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.Clear(bkColor);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.DrawImageUnscaled(bmp, 1, 1
);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.Dispose();
C#中Bitmap类 对图像の操作 可检测图片完整性第3张
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 GraphicsPath path = new
GraphicsPath();
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 path.AddRectangle(new
RectangleF(0f, 0f, w, h));
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 Matrix mtrx = new
Matrix();
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 mtrx.Rotate(angle);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 RectangleF rct =
path.GetBounds(mtrx);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 Bitmap dst = new Bitmap((int)rct.Width, (int
)rct.Height, pf);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g =
Graphics.FromImage(dst);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.Clear(bkColor);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.TranslateTransform(-rct.X, -
rct.Y);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.RotateTransform(angle);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.InterpolationMode =
InterpolationMode.HighQualityBilinear;
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.DrawImageUnscaled(tmp, 0, 0
);
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 g.Dispose();
C#中Bitmap类 对图像の操作 可检测图片完整性第3张
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 tmp.Dispose();
C#中Bitmap类 对图像の操作 可检测图片完整性第3张
C#中Bitmap类 对图像の操作 可检测图片完整性第3张 return
dst;
C#中Bitmap类 对图像の操作 可检测图片完整性第8张 }

免责声明:文章转载自《C#中Bitmap类 对图像の操作 可检测图片完整性》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Docker-PS命令解析继续聊WPF——自定义命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#语音朗读文本 — TTS的实现

TTS, Text To Speech的缩写,是使用语音朗读文本的技术。目前,在国内应用较多的是排队叫号系统 Windows 平台的TTS,通常使用的是微软自带的 Speech API。 Windows XP 自带的是 Speech API 5.1,默认是只支持英文的。如果要朗读中文,需要安装LangPack,里面支持简体中文,不过,是个男生的发音。...

用VS Code写C#

https://docs.microsoft.com/zh-cn/dotnet/core/tutorials/with-visual-studio-code 一、安装配置 1、下载SDK 首先下载 .NET Core SDK 。下载地址如下: .NET Downloads for Windows 安装SDK: 安装完成后调出控制台 输入 : dotnet...

[转载]C#版可调节的文字阴影特效

原文地址:http://blog.csdn.net/maozefa/archive/2008/01/15/2044341.aspx         本来春节前不准备写BLOG文章了,可前几天有几个搞C#的朋友来信说,对文章《GDI+ 在Delphi程序的应用 -- 可调节的文字阴影特效》的内容很感兴趣,但苦于对Delphi不熟悉,想请我帮忙将其改为C#版的...

四种程序启动画面的制作方法(VC)

使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序);二是可以用来显示软件名称和版权等提示信息。怎样使用VC++制作应用程序的启动画面呢?本文提供四种方法,前三种适用于基于文档的应用程序,第四种适用于基于对话框的应用程序。 1.利用组件库中的Splash Screen组件实现  (1)用Photoshop等制作启动画面图像,保存为bmp...

Xamarin发布XobotOS源码,C# 实现的Android系统 操作系统 ITeye资讯

Xamarin发布XobotOS源码,C# 实现的Android系统 - 操作系统 - ITeye资讯 Android的核心代码由数百万行Java代码构成,而XobotOS项目还需要和Android的新版本保持同步(事实上,XobotOS的工作从Android 2.x已经开始),工作量之巨大,只能通过机器自动转换来实现。该团队利用了一个自动转换Java到...

C# 根据绝对路径获取 带后缀文件名、后缀名、文件名、不带文件名的文件路径

C# 根据绝对路径获取 带后缀文件名、后缀名、文件名、不带文件名的文件路径 1、c#根据绝对路径获取 带后缀文件名、后缀名、文件名。 1 string str ="F: estDefault.aspx"; 2 string filename = System.IO.Path.GetFileName(str);//文件名 “...