精华内容
下载资源
问答
  • C#读取BMP图像像素

    2013-03-12 15:02:28
    本人是C#新手,求大神给一段C#代码可以读出BMP图像(32位)的像素值。。急求。。。。
  • C#语言程序,程序读取BMP文件并展示给用户
  • 注:BMP只有黑白两色,读取代码如下: FileStream fs = new FileStream(ImagePath, FileMode.Open); byte[] byImageData = new byte[fs.Length]; fs.Read(byImageData, 0, byImageData.Length); fs.Close();
  • 导师接了校医院的项目,涉及到dcm医学图像的显示和存储问题。 demo实现 将本地的dcm图像转存为bmp图像 使用时 需要导入dicom包,只需修改dcm 路径即可。
  • Emgucv 读取bmp图片.txt

    2020-08-17 19:18:16
    使用Emgucv 读取bmp图片,将图片数据传入 C++dll中,并得到处理过的图片数据 使用C#来做界面以及图片的反复读取,为了利用C#的回收机制,不必担心内存泄漏问题
  • c#读取图片(gif,png,jpg.bmp)

    热门讨论 2009-07-02 07:58:44
    c#支持自主选择目录,图片列表,浏览方式有三种(选择图片,手动连续显示,自动显示)本资源为vs2008版
  • C# 图片BMP到JPG

    2011-06-05 11:35:27
    C# 图片BMP转换到JPG,图片同时缩小,可以自定义图片大小
  • [总结]C#用于BMP图像显示的方法

    千次阅读 2015-12-08 14:36:06
    以下代码片段皆用到如下代码,故提取出来放在前面,以免重复 ... //bmpImgBuf为bmp图像缓冲区包含BMP头和图像数据(图像可来自文件、网络、或者设备等) 1. 不做转换,直接显示  BitmapFrame bmf = BitmapF

    以下代码片段皆用到如下代码,故提取出来放在前面,以免重复

                MemoryStream ms = new MemoryStream(bmpImgBuf);         //bmpImgBuf为bmp图像缓冲区包含BMP头和图像数据(图像可来自文件、网络、或者设备等)

    1. 不做转换,直接显示

                BitmapFrame  bmf = BitmapFrame.Create(ms, BitmapCreateOptions.None, BitmapCacheOption.Default);

                this.imgViewer.Source = bmf;    //imgViewer为Image图像控件


    2. 伸缩变换,然后显示

           方式1).

                var imgDecoder = BitmapDecoder.Create(ms, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None);
                var img = imgDecoder.Frames[0];

                var target = new TransformedBitmap(img,
                    new ScaleTransform(
                        -640 / img.Width * 96 / img.DpiX,                                  //如果宽度小于原图像宽度,则宽度方向被缩小,反之则放大,为负值,则叠加翻转变换
                        360 / img.Height * 96 / img.DpiY,                                  //同上
                        0, 0));
                this.imgViewer.Source = target;


         方式2).

                TransformedBitmap tbm = new TransformedBitmap();
                tbm.BeginInit();

                tbm.Source = BitmapFrame.Create(ms, BitmapCreateOptions.None, BitmapCacheOption.Default);

                ScaleTransform st = new ScaleTransform();
                st.ScaleX = -1;   //mirrow image on vertical direction
                tbm.Transform = st;
                tbm.EndInit();


                this.imgViewer.Source = tbm;

    
    展开全文
  • 主要使用C# avicap读取摄像头,并且抓取bmp格式的图像,提取其中的R值,并且画图动态显示R值。
  • 代码如下:注:MyTools.g_PhotoField为数据库表中的图象字段名称//将图片保存到数据库中 if(this.picPhoto.Image==null) { m_DataRow[MyTools.g_PhotoField]=DBNull.Value; } else { try { MemoryStream ms = ...
  • c#编写的bmp文件的读取资料

    热门讨论 2009-08-10 16:17:30
    c#编写的bmp文件的读取资料,简单易用,有极强的可操作性,不足之处是注释较少,多包涵。
  • 网上有很多BMP转Texture2d的代码,但是大多都不能用!...这个脚本是通过读取BMP文件的字节流解析协议直接将BMP从Byte[]解析出来的算法,是解析BMP的算法,根据这个算法可以在所有平台上解析.BMP格式的图片
  • /// <summary>  /// 生成二维码  /// </summary> ...//生成数据 "1234567890" 的二维码,返回bmp图片 string QRCodestr = "1234567890"; string QRCodeImage = QRCodeSave(QRCodestr);  

    /// <summary>                                                                     
            /// 生成二维码                                                                    
            /// </summary>                                                                    
            /// <param name="msg">二维码信息</param>                                          
            /// <returns>图片</returns>                                                       
            public Bitmap QRCodeBimapForString(string nr)
            {
                string enCodeString = nr;
                QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
                //编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
                qrCodeEncoder.QRCodeScale = 15;//大小(值越大生成的二维码图片像素越高)
                                               //版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
                qrCodeEncoder.QRCodeVersion = 2;
                //错误效验、错误更正(有4个等级)
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

                return qrCodeEncoder.Encode(enCodeString, Encoding.GetEncoding("GB2312"));
            }


            public string QRCodeSave(string nr)
            {
                Bitmap bt = QRCodeBimapForString(nr);
                System.Drawing.Image img = bt;
                string filePath = my_Path + "/capture";
                string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".bmp";
                if (!Directory.Exists(filePath))
                {
                    Directory.CreateDirectory(filePath);
                }
                string path = Path.Combine(filePath, fileName);

                
                System.Drawing.Bitmap objNewPic = new System.Drawing.Bitmap(bt, 230, 230);//图片保存的大小尺寸   

                //保存bmp图片
                objNewPic.Save(path, ImageFormat.Bmp);

                //bt.Save(path);
                //如果要显示图片就要有返回值
                return path;
            }

     

    //生成数据 "1234567890" 的二维码,返回bmp图片

    string QRCodestr = "1234567890";
    string QRCodeImage = QRCodeSave(QRCodestr);

     

    展开全文
  • BMP图像读取、灰度化

    2009-06-17 22:27:04
    基于C#BMP图像读取、灰度化的算法源码,效果好,速度快。基于C#BMP图像读取、灰度化的算法源码,效果好,速度快。
  • BMP图像读取保存

    2018-05-15 11:18:30
    实现了BMP图像读取、保存、创建、修改某一像素的代码。跨平台。
  • dat文件的原始图像格式:每两个字节代表一个像素点(低位低字节,高位高字节)(最大值为16383),数据按照按照先行后列的顺序存储(1280X1024)怎么读取来生成BMP图像 没这方面经验 请指教
  • 这个LLK.data是个文件夹吗,然后从里面找出.bmp文件还是什么,我在自己的项目的properities/resources.resx添加了图片,又在项目里创建了data文件夹里面放入图片,结果不行,错误大概意思,缺少LLk.data.resources....
  • c#读取图片文件,并存入数据库,然后从数据库中把相应的二进制图片数据还原成指定目录下的图片文件。 注意:数据库名称和数据表需要修改成自己的数据表,否则出现数据库连接错误,
  • c#bmp图的灰度变化

    2012-10-31 16:27:02
    使用c#编写的 对bmp图片读取,并且进行线性灰度变换,是图片更加鲜明。解压即可,内附各种注释~
  • c语言读取BMP图片的RGB数据

    万次阅读 2013-04-08 11:32:59
    BMP图片是位图(bitmap),一般未压缩,要读取BMP文件只要指导它的文件结构就可以了,具体格式可以百度或者google,就不多说了,几个重要的点在代码里面有注释。 /** c语言读取位图信息 **/ #include #include ...

    BMP图片是位图(bitmap),一般未压缩,要读取BMP文件只要知道它的文件结构就可以了,具体格式可以百度或者google,就不多说了,几个重要的点在代码里面有注释。

    /**
    	c语言读取位图信息 
    **/
    
    #include<stdio.h>
    #include<malloc.h>
    
    #define BM 19778		// 位图的标志
    
    #define PATH "d:\\test.bmp"  //打开的文件路径 
    
    //判断是否是位图,在0-1字节 
    int IsBitMap(FILE *fp)
    {
    	unsigned short s;
    	fread(&s,1,2,fp);
    	if(s==BM)
    		return 1;
    	else
    		return 0;
    } 
    
    //获得图片的宽度,在18-21字节 
    long getWidth(FILE *fp)
    {
    	long width;
    	fseek(fp,18,SEEK_SET);
    	fread(&width,1,4,fp);
    	return width;	
    }
    
    //获得图片的高度 ,在22-25字节 
    long getHeight(FILE *fp)
    {
    	long height;
    	fseek(fp,22,SEEK_SET);
    	fread(&height,1,4,fp);
    	return height;	
    }  
    
    //获得每个像素的位数,在28-29字节 
    unsigned short getBit(FILE *fp)
    {
    	unsigned short bit;
    	fseek(fp,28,SEEK_SET);
    	fread(&bit,1,2,fp);
    	return bit;
    } 
    
    //获得数据的起始位置
    unsigned int getOffSet(FILE *fp)
    {
    	unsigned int OffSet;
    	fseek(fp,10L,SEEK_SET);
    	fread(&OffSet,1,4,fp);
    	return OffSet;
    }
    
    //获得图像的数据
    void getData(FILE* fp,unsigned char *r,unsigned char *g,unsigned char *b)
    {
        FILE* fpr;
    	FILE* fpg;
    	FILE* fpb;
    	
    	int i, j=0;
    	int stride;
    	unsigned char* pix=NULL;
    	long height,width;
    	height=getHeight(fp);
    	width=getWidth(fp);
    
    	fseek(fp, getOffSet(fp), SEEK_SET);	//找到位图的数据区 
    	
    	stride=(24*width+31)/8;	//对齐,计算一个width有多少个8位 
    	stride=stride/4*4;		//取四的倍数 r,g,b,alph 
    	
    	//写入数组 
    	pix=(unsigned char *)malloc(stride);
    	for(j=0;j<height;j++)
    	{
    	   fread(pix, 1, stride, fp);
    	   for(i=0;i<width;i++)
    		{
    			*(r+(height-1-j)+i)=pix[i*3+2];
    			*(g+(height-1-j)+i)=pix[i*3+1];
    			*(b+(height-1-j)+i)=pix[i*3];
    		}
    	}
    	
    	//写入文件 
    	fpr=fopen("d:\\bmpr.txt","w+");
    	fpg=fopen("d:\\bmpg.txt","w+");
    	fpb=fopen("d:\\bmpb.txt","w+");
    	
    	for(i =0; i < height; i++)
         {
    		for(j = 0; j < width-1; j++)
    		{   
    		fprintf(fpr,"%4d",*(r+i+j));
    		fprintf(fpg,"%4d",*(g+i+j));
    		fprintf(fpb,"%4d",*(b+i+j));
    		}
    		fprintf(fpr,"%4d",*(r+i+j));
    		fprintf(fpg,"%4d",*(g+i+j));
    		fprintf(fpb,"%4d",*(b+i+j));
     	}
    	  
    	fclose(fpr);
    	fclose(fpg);
    	fclose(fpb);
    		 
    } 
    
    
    int main()
    {
    	long width,height;
    	FILE *fp=fopen(PATH,"r");
    	unsigned char *r,*g,*b;
    	int i,j;
    	r=(unsigned char *)malloc(4000);
    	b=(unsigned char *)malloc(4000);
    	g=(unsigned char *)malloc(4000);
    	
    	if(IsBitMap(fp))
    		printf("该文件是位图!\n");
    	else
    		{
    			printf("该文件不是位图!\n");
    			fclose(fp);
    			return 0; 
    		} 
    			
    	printf("width=%ld\nheight=%ld\n",getWidth(fp),getHeight(fp));
    	
    	printf("该图像是%d位图\n",getBit(fp));
    	
    	printf("OffSet=%d\n",getOffSet(fp));
    		
    	getData(fp,r,g,b);
    	
    	return 1;
    }


    展开全文
  • C# 读取文件展示图片

    2021-05-08 15:13:17
    读取文件显示图片 using (FileStream fs = new FileStream(f.LocalPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); ...

    读取文件显示图片

    using (FileStream fs = new FileStream(f.LocalPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
    {
        byte[] buffer = new byte[fs.Length];
        fs.Read(buffer, 0, buffer.Length);
        MemoryStream ms = new MemoryStream(buffer);
        BitmapImage img = new BitmapImage();
        img.BeginInit();
        img.StreamSource = ms;
        img.CacheOption = BitmapCacheOption.OnLoad;
        img.EndInit();
        ms.Dispose();
    
        //或
        FileImage.Source = img;
        //或
        BitmapImage img1 = new BitmapImage();
        img1.BeginInit();
        img1.CacheOption = BitmapCacheOption.OnLoad;
        img1.UriSource = new Uri("path", UriKind.RelativeOrAbsolute);
        img1.Freeze();
        img1.EndInit();
    }
    

    他人的:https://blog.csdn.net/qq_18995513/article/details/53693554

        Bitmap和BitmapImage相互转换。
        RenderTargetBitmap –> BitmapImage
        ImageSource –> Bitmap
        BitmapImage和byte[]相互转换。
        byte[]> Bitmap
    // Bitmap --> BitmapImage
    public static BitmapImage BitmapToBitmapImage(Bitmap bitmap)
    {
        using (MemoryStream stream = new MemoryStream())
        {
            bitmap.Save(stream, ImageFormat.Png); // 坑点:格式选Bmp时,不带透明度
    
            stream.Position = 0;
            BitmapImage result = new BitmapImage();
            result.BeginInit();
            // According to MSDN, "The default OnDemand cache option retains access to the stream until the image is needed."
            // Force the bitmap to load right now so we can dispose the stream.
            result.CacheOption = BitmapCacheOption.OnLoad;
            result.StreamSource = stream;
            result.EndInit();
            result.Freeze();
            return result;
        }
    }
    
    
    // BitmapImage --> Bitmap
    public static Bitmap BitmapImageToBitmap(BitmapImage bitmapImage)
    {
        // BitmapImage bitmapImage = new BitmapImage(new Uri("../Images/test.png", UriKind.Relative));
    
        using (MemoryStream outStream = new MemoryStream())
        {
            BitmapEncoder enc = new BmpBitmapEncoder();
            enc.Frames.Add(BitmapFrame.Create(bitmapImage));
            enc.Save(outStream);
            Bitmap bitmap = new Bitmap(outStream);
    
            return new Bitmap(bitmap);
        }
    }
    
    // RenderTargetBitmap --> BitmapImage
    public static BitmapImage ConvertRenderTargetBitmapToBitmapImage(RenderTargetBitmap wbm)
    {
        BitmapImage bmp = new BitmapImage();
        using (MemoryStream stream = new MemoryStream())
        {
            BmpBitmapEncoder encoder = new BmpBitmapEncoder();
            encoder.Frames.Add(BitmapFrame.Create(wbm));
            encoder.Save(stream);
            bmp.BeginInit();
            bmp.CacheOption = BitmapCacheOption.OnLoad;
            bmp.CreateOptions = BitmapCreateOptions.PreservePixelFormat;
            bmp.StreamSource = new MemoryStream(stream.ToArray()); //stream;
            bmp.EndInit();
            bmp.Freeze();
        }
        return bmp;
    }
    
    
    // RenderTargetBitmap --> BitmapImage
    public static BitmapImage RenderTargetBitmapToBitmapImage(RenderTargetBitmap rtb)
    {
        var renderTargetBitmap = rtb;
        var bitmapImage = new BitmapImage();
        var bitmapEncoder = new PngBitmapEncoder();
        bitmapEncoder.Frames.Add(BitmapFrame.Create(renderTargetBitmap));
    
        using (var stream = new MemoryStream())
        {
            bitmapEncoder.Save(stream);
            stream.Seek(0, SeekOrigin.Begin);
    
            bitmapImage.BeginInit();
            bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
            bitmapImage.StreamSource = stream;
            bitmapImage.EndInit();
        }
    
        return bitmapImage;
    }
    
    // ImageSource --> Bitmap
    public static System.Drawing.Bitmap ImageSourceToBitmap(ImageSource imageSource)
    {
        BitmapSource m = (BitmapSource)imageSource;
    
        System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(m.PixelWidth, m.PixelHeight, System.Drawing.Imaging.PixelFormat.Format32bppPArgb); // 坑点:选Format32bppRgb将不带透明度
    
        System.Drawing.Imaging.BitmapData data = bmp.LockBits(
        new System.Drawing.Rectangle(System.Drawing.Point.Empty, bmp.Size), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
    
        m.CopyPixels(Int32Rect.Empty, data.Scan0, data.Height * data.Stride, data.Stride);
        bmp.UnlockBits(data);
    
        return bmp;
    }
    
    // BitmapImage --> byte[]
    public static byte[] BitmapImageToByteArray(BitmapImage bmp)
    {
        byte[] bytearray = null;
        try
        {
            Stream smarket = bmp.StreamSource; ;
            if (smarket != null && smarket.Length > 0)
            {
                //设置当前位置
                smarket.Position = 0;
                using (BinaryReader br = new BinaryReader(smarket))
                {
                    bytearray = br.ReadBytes((int)smarket.Length);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
        return bytearray;
    }
    
    
    // byte[] --> BitmapImage
    public static BitmapImage ByteArrayToBitmapImage(byte[] array)
    {
        using (var ms = new System.IO.MemoryStream(array))
        {
            var image = new BitmapImage();
            image.BeginInit();
            image.CacheOption = BitmapCacheOption.OnLoad; // here
            image.StreamSource = ms;
            image.EndInit();
            image.Freeze();
            return image;
        }
    }
    //byte>bitmap
    public static System.Drawing.Bitmap ConvertByteArrayToBitmap(byte[] bytes)
    {
        System.Drawing.Bitmap img = null;
        try
        {
            if (bytes != null && bytes.Length != 0)
            {
                MemoryStream ms = new MemoryStream(bytes);
                img = new System.Drawing.Bitmap(ms);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
        return img;
    }
    
    
    
    展开全文
  • c#读取图片成rgb二维数组

    千次阅读 2017-10-03 12:54:53
    全栈工程师开发手册 (作者:栾鹏...c#读取图片成rgb二维数组,输入图片文件地址,输出颜色二维数组测试代码static void Main() { Color[,] allcolor=img2color("11.jpg"); for (int i=0;i(0);i++) { for (int j=0;j
  • C#BMP文件格式分析并读取

    千次阅读 2018-12-27 11:13:11
    扣扣技术交流群:460189483 主要是方便自己用,复制了一下,建议...BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图...
  • // #include #include #include #include #include #include #include "define.h" using namespace std; ...LPCWSTR szClass = TEXT("test1001...LPCWSTR szTitle = TEXT("BMP"); //窗口过程 LRESULT CALLBACK __
  • 现在有一个IntPtr指针,指向的是.bmp图像文件的裸数据(不包含.bmp图像文件头那些的结构体),怎么这个数据通工picturebox显示出来
  • [code="c"]#include #include #include #include #include #include #define WIDTHBYTES(i) ((i+31)/32*4) //#pragma warning(disable: 4996) int main() ... //BMP...
  • 基本思路是C#读取图片转成byte[]数组,然后传递给Opencv,通过Mat (int rows, int cols, int type, void *data, size_t step=AUTO_STEP)构造函数接收。由于读取的图片格式可能有ARGB和RGB格式,统一转成RGB格...
  • C#实现对压缩的DAT图像数据文件的读取,将二进制数据文件按照一定的尺寸还原为bmp图像文件,显示在界面上,同时可以实现将二进制图像保存在数据库中
  • C#读取图片转成RGB格式。先贴上代码: Bitmap bmpInitial = (Bitmap)System.Drawing.Image.FromFile("1.jpg"); Bitmap bmp = null; //将图像转换为24位rgb图像 if (bmpInitial.PixelFormat != System.Drawing....
  • C#读取图片Exif信息

    千次阅读 热门讨论 2012-10-06 15:09:56
    ////调用 //string strFile="fffff.jpg";...//System.Drawing.Bitmap bmp = new Bitmap(strFile); //EXIF.EXIFextractor er = new EXIF.EXIFextractor(ref bmp, "\n"); //Console.Write(strFile + "\r\n"); //Conso...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,897
精华内容 2,358
关键字:

c#读取bmp图片

c# 订阅