c# 传图片_c#传图片给c++的dll - CSDN
  • C#图片上传与下载

    2017-09-07 15:25:22
    1、上传: html页面代码: --> 一般处理程序: try { if (context.Request.Files.Count > 0) { //判断文件大小

    1、上传:

    html页面代码:
    <form name="form1" method="post" action="Handler1.ashx" enctype="multipart/form-data">
        <!--<form name="form1" method="post" action="WebForm2.aspx" enctype="multipart/form-data">-->
        <input id="files" name="files" type="file" />
        <input id="Submit1" type="submit" value="submit" />
    </form>

    一般处理程序:

        try
                {             
                    if (context.Request.Files.Count > 0)
                    {
                        //判断文件大小  
                        int length = context.Request.Files[0].ContentLength;
                        if (length > 52428800)
                        {
                            context.Response.Write("文件大于50M,不能上传");
                            return;
                        }
    
                        string type = context.Request.Files[0].ContentType;
                        string fileExt = Path.GetExtension(context.Request.Files[0].FileName).ToLower();
                        //只能上传图片,过滤不可上传的文件类型  
                        string fileFilt = ".gif|.jpg|.php|.jsp|.jpeg|.png|......";
                        if (fileFilt.IndexOf(fileExt) <= -1)
                        {
                            context.Response.Write("对不起!请上传图片!!");
                            return;
                        }
                        else
                        {
                            Page p = new Page();
                            string fileName = p.Server.MapPath(_directory) + "\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + rnd.Next(10, 99).ToString()
                                + fileExt;
    
                            // // 如果是aspx页面,这里直接Server.MapPath...
                            //string fileName = Server.MapPath(_directory) + "\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + rnd.Next(10, 99).ToString()
                            //+fileExt;
                            context.Request.Files[0].SaveAs(fileName);
                            context.Response.Write("上传成功!");
                        }
                    }
                    else
                    {
                        context.Response.Write(context.Request.Files.Count);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
    相关文档(C#上传与下载):http://blog.csdn.net/pan_junbiao/article/details/7185382
    关于form表单标签的enctype属性的作用:http://blog.csdn.net/user_longling/article/details/38538479

    展开全文
  • C# 传递图片给C++dll

    2016-09-22 15:50:22
    C++dll 源码: void _startLedCheck(byte *ImageBuffer, int len) {Mat src = cv::Mat(720, 1280, CV_8UC3, ...}C#源码: [DllImport(“LedCheck.dll”, EntryPoint = “_startLedCheck”, CallingConvention = C

    C++dll 源码:
    void _startLedCheck(byte *ImageBuffer, int imageWedth, int imageHeight)
    {
    Mat src = cv::Mat(imageHeight, imageWedth, CV_8UC3, ImageBuffer);

    }

    C#源码:
    [DllImport(“LedCheck.dll”, EntryPoint = “_startLedCheck”, CallingConvention = CallingConvention.Cdecl)]
    static extern void _startLedCheck(byte[] ImageBuffer, int imageWedth, int imageHeight);

    private void buttonLoadImage_Click(object sender, EventArgs e)
    {
    Bitmap bmp = (Bitmap)Image.FromFile(“1.jpg”);

            Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
            System.Drawing.Imaging.BitmapData bmpData =
            bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, bmp.PixelFormat);
    
            // Get the address of the first line.
            IntPtr ptr = bmpData.Scan0;
    
            // Declare an array to hold the bytes of the bitmap. 
            int bytes = Math.Abs(bmpData.Stride) * bmp.Height;
            byte[] rgbValues = new byte[bytes];
    
            // Copy the RGB values into the array.
            System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, bytes);
    
            // Unlock the bits.
            bmp.UnlockBits(bmpData);
            int ImageWedth = bmp.Width;
            int ImageHeight = bmp.Height;
            _startLedCheck(rgbValues, ImageWedth, ImageHeight);
    
        }
    
    展开全文
  • c++里通过opencv读取图片后考入内存传出指针给c#,并在picturebox里显示
  • 在byte转换成string的时候 用new String(byte[],"UTF-8") 这个方法. 乱码 .. ps:编码格式试过GBK.. ISO-8859-1.等等.... 这个方法 javax.xml.bind.... 但是在C#解析的时候解析不了 发现数据长度已经改变

     

    在byte转换成string的时候
    用new String(byte[],"UTF-8") 这个方法. 乱码 .. ps:编码格式试过GBK.. ISO-8859-1.等等.都解决不聊乱码
    这个方法 javax.xml.bind.DatatypeConverter.printBase64Binary(byte[]) 也是过..是不乱码. 但是在C#解析的时候解析不了  发现数据长度已经改变
    后来查了下 发现转成base64类型的字符串可以

    BASE64Encoder encoder = new BASE64Encoder();
    String byteString=encoder.encode(byte数组);

     

    在C#客户端

    byte[] bt=Convert.FromBase64String(string)

    就可以转成byte[]数组
    展开全文
  • 网上看到的很多文章介绍转成python图片对象的都是通过读取图片文件转换而来,但是并不是所有的业务逻辑都能通过读取图片文件的,如我的客户端使用C#语言动态拍摄图片到服务端给python处理,这样服务端的python就...

    网上看到的很多文章介绍转成python图片对象的都是通过读取图片文件转换而来,但是并不是所有的业务逻辑都能通过读取图片文件的,如我的客户端使用C#语言动态拍摄图片并传到服务端给python处理,这样服务端的python就不能通过以读取图片的方式创建图片对象了(平时都是使用C#开发,python不是很熟悉,可能有些描述不是很到位,勿喷)

     

    我想要实现的大概的业务流程是:

    客户端(C#或者使用其它语言)把图片转成字节数组,并把字节数组转成Base64String的字符串,通过rpc(C#的可以参考我前面写的文章:https://blog.csdn.net/zxy13826134783/article/details/102977028)技术发送字符串给python处理,你可能会有疑惑,为什么字节数组要转成Base64String的字符串,直接传递字节数组岂不是更好?我尝试过了,不能直接传递字节数组,可能是语言之间的不兼容

     

    至于使用C#把图片转成字节数组,并把字节数组转成Base64String的字符串的步骤就省略了,本文通过python的方式读取图片文件并转成Base64String的字符串进行模拟客户端产生Base64String的字符串

     

    全部代码如下:

    #下面哪些库没有安装的需要自己安装一下,我使用anaconda安装的python,所以我不用额外手动装库
    import base64
    import matplotlib.pyplot as plt
    import io
    import os
    from PIL import Image          
    
    #  读取图片函数,filePath是图片的路径,模拟客户端的代码
    def ReadImage(filePath):
        f=open(filePath,"rb")
        #根据图片文件的大小定义字节数组
        buf=bytearray(os.path.getsize(filePath))
        #把读入的数据填充到数组中
        f.readinto(buf)
        f.flush()
        f.close()
        return buf
    
    
    
    #显示图片,输入参数img_b64encode为字节数组编码过的编码字符串,你可以通过其它语言通过rpc远程的方式进行调用并传入base64的字符串
    def ShowImage(img_b64encode):
     
        #把已经编码的字符串转成解码的字符串
        img_base64=base64.b64decode(img_b64encode)
        img=io.BytesIO(img_base64)
        #把img对象转成图像类型的对象imgage,到了这里,你可以随便折腾它了
        image=Image.open(img)
        #显示图片,这一步仅仅是为了测试是否成功地把自己编码字符串转成图像类型的对象
        plt.imshow(image)
    
    #主程序入口   
    if __name__=="__main__":
        buf=ReadImage("./TestData/test.png")
        #字节数组编码成编码字符串
        img_b64encode = base64.b64encode(buf)
        #这一步你可以通过rpc远程调用,上两步都是为了准备数据
        ShowImage(img_b64encode)

    运行结果如下:

     

    展开全文
  • c# websocketServer传图片

    2019-12-17 21:16:51
    c# websocketServer传图片 传一次图片可以,但是传多次就不行 缓存?
  • 在机房合作的时候要添加商品并且上传商品的图片到数据库,因为上传的是本地图片,数据库的图片地址是自己本地的,如果换了电脑图片就不会显示,所以需要把本地图片上传到项目中新建的文件中,然后在把新建文件的地址...
  • 这几天开发安卓项目,需要上传文件到服务器,一开始一点不会,然后就开始了查资料模式,中间走了许多弯路,不过功夫不负有心人,终于实现了选择相册图片上传和拍照上传,还理解了http协议,现在我把我把我的经验分享...
  • c# 图片串口传输

    2020-07-30 23:32:43
    vs2008 编写的c# 图片串口传输程序 有改进意见或建议j.tam@live.com
  • C#winform FTP图片上传下载
  • c#Web异步上传图片和海量图片上传案例c#Web异步上传图片和海量图片上传案例c#Web异步上传图片和海量图片上传案例c#Web异步上传图片和海量图片上传案例vs2015写的
  • python与C#的互相调用

    2016-11-15 22:26:31
    python与C#的互相调用一、C#调用python新建一个项目,添加引用:IronPython.dll,Microsoft.Scripting.dll(在IronPython的安装目录中)。创建一个文本文件命名为hello.py,把该文件添加的当前的项目中,并设置为总是...
  • 1、 int width = 50;  int height = 50;  var bitmap = new Bitmap(width, height, PixelFormat.Canonical);   for (int y = 0; y   for (int x = 0;... 
  • C#传数据到c++,需要编译c++的dll库,这里不具体介绍如何编译dll库。 C#: 声明接口 [DllImport(&amp;amp;amp;quot;dllmake&amp;amp;amp;quot;)] private unsafe static extern bool detectAndDraw(byte[]...
  • 先上代码//命名空间 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System....usin
  • 最在在做毕业设计,需要用到winform电脑上的图片到服务器上,于是又是一下午的从零开始研究,好在之前有点android到java服务器的经验。 在一阵百度过后最终成功的将图片传到了服务器,这里来记录一下琢磨过程和...
  • 1,客户端的代码 NSString *api = @"http://192.168.20.189:6900/bk/api/upload"; ASIFormDataRequest *req = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:api]]; [req setRequestMethod:@"POST"];
  • C#实现上传图片

    2016-06-28 18:40:46
    上传图片是日常开发中经常遇到的,近日经理给我分配了一个任务,就是实现图片的上传。其实之前也做过上传的功能,当时没有具体的实现,仅仅做了一部分了解。不过,这样最起码已经给自己增加了一份信心,至少不会...
  • 文章《C# 基于 socket 的断点续功能的实现》中的示例代码。 具体见blog:http://blog.csdn.net/shi0090/article/details/46854457
  • 为了娱乐写了个截取图片和压缩图片你的小工具:按照百分比压缩/制定大小压缩等等,感兴趣的朋友可以了解下啊,希望本文对你学些c#图片知识有所帮助 前端时间朋友要一些图片给我,全是大图,考虑到网速的...
1 2 3 4 5 ... 20
收藏数 14,713
精华内容 5,885
关键字:

c# 传图片