| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Runtime.InteropServices;
- using System.Text;
- using System.Threading.Tasks;
- using System.Drawing.Imaging;
- using System.Diagnostics;
- namespace ivf_tl_UtilHelper
- {
- public class AivfoHelper
- {
- /// <summary>
- /// 抠图,0表示抠图失败
- /// </summary>
- /// <param name="imgData">图片字节流,读图片的话会有54字节的图片头</param>
- /// <param name="width">宽度</param>
- /// <param name="height">高度</param>
- /// <param name="path">抠出来的图片地址</param>
- /// <param name="sourcePath">保存源图的地址</param>
- /// <param name="isSave">1表示强制保存源图,0表示不强制保存源图</param>
- /// <returns></returns>
- [DllImport(@"DependFile\newccd\Project2.dll", EntryPoint = "#1", CallingConvention = CallingConvention.Cdecl)]
- public static extern IntPtr ImageProcessing(byte[] imgData, int width, int height, string path, string sourcePath, int isSave, string wellname, string devTime, int letoffset, int bottomOffset);
- /// <summary>
- /// 获取图片分数并保存图片,图片上有当前位置,以及分数
- /// </summary>
- /// <param name="bitmapData">图片字节流,读图片的话会有54字节的图片头</param>
- /// <param name="w">宽度</param>
- /// <param name="h">高度</param>
- /// <returns></returns>
- [DllImport(@"DependFile\newccd\Project2.dll", EntryPoint = "#5", CallingConvention = CallingConvention.Cdecl)]
- public extern static double GetImageScoreAndSaveImage(byte[] bitmapData, int w, int h, string dir, int id, string dir1, int letoffset, int bottomOffset);
- [DllImport(@"DependFile\newccd\Project2.dll", EntryPoint = "#6", CallingConvention = CallingConvention.Cdecl)]
- public extern static int Save1(string fileName, string wellName, string fayuString);
- /// <summary>
- /// 1是成功 0失败
- /// </summary>
- /// <param name="bitmapData"></param>
- /// <param name="width"></param>
- /// <param name="height"></param>
- /// <param name="path"></param>
- [DllImport(@"DependFile\newccd\Project2.dll", EntryPoint = "#7", CallingConvention = CallingConvention.Cdecl)]
- public extern static int Save2(byte[] bitmapData, int width, int height, string path);
- public static byte[] GetImageData(string fileName)
- {
- try
- {
- if (!File.Exists(fileName))
- {
- return null;
- }
- ImageFormat imageFormat = ImageFormat.Jpeg;
- switch (Path.GetExtension(fileName).ToLower())
- {
- case ".jpg":
- imageFormat = ImageFormat.Jpeg;
- break;
- case ".bmp":
- imageFormat = ImageFormat.Bmp;
- break;
- case ".png":
- imageFormat = ImageFormat.Png;
- break;
- default:
- break;
- }
- System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(fileName);
- MemoryStream memoryStream = new MemoryStream();
- bitmap.Save(memoryStream, imageFormat);
- var a = memoryStream.ToArray();
- memoryStream.Close();
- memoryStream.Dispose();
- bitmap.Dispose();
- return a;
- }
- catch (Exception ex)
- {
- return null;
- }
- }
- public static byte[] GetImageData1(string fileName)
- {
- try
- {
- if (!File.Exists(fileName))
- {
- return null;
- }
- using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
- {
- byte[] imgData = new byte[fileStream.Length];
- fileStream.Read(imgData, 0, imgData.Length);
- fileStream.Close();
- fileStream.Dispose();
- return imgData;
- }
- }
- catch (Exception)
- {
- throw;
- }
- }
- }
- }
|