当前位置:  开发笔记 > 编程语言 > 正文

WPF图像到byte []

如何解决《WPF图像到byte[]》经验,为你挑选了2个好方法。

我正在尝试转换System.Windows.Controls.Imagebyte[]和我不知道Image类中哪个方法可以帮助这个场景,顺便说一下我真的不知道该怎么做,因为在我的LINQ模型中该字段显示为Binary类型,我必须更改如果我想将它保存为byte[]类型?

我在这里发现了代码,但没有使用WPF:

Bitmap newBMP = new Bitmap(originalBMP, newWidth, newHeight);
System.IO.MemoryStream stream = new System.IO.MemoryStream();
newBMP.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
PHJProjectPhoto myPhoto = new PHJProjectPhoto {
    ProjectPhoto = stream.ToArray(), // <<--- This will convert your stream to a byte[] 
    OrderDate = DateTime.Now, 
    ProjectPhotoCaption = ProjectPhotoCaptionTextBox.Text,
    ProjectId = selectedProjectId
};

Jonathan Esc.. 32

真正的解决方案...当你的ORM上的数据库映射字段是Byte []/byte []/Bynary时,如果想从System.Windows.Control.Image保存jpg图像

public byte[] getJPGFromImageControl(BitmapImage imageC)
{
       MemoryStream memStream = new MemoryStream();              
        JpegBitmapEncoder encoder = new JpegBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(imageC));
        encoder.Save(memStream);
        return memStream.ToArray();
}

呼叫:

getJPGFromImageControl(firmaUno.Source as BitmapImage)

希望有帮助:)



1> Jonathan Esc..:

真正的解决方案...当你的ORM上的数据库映射字段是Byte []/byte []/Bynary时,如果想从System.Windows.Control.Image保存jpg图像

public byte[] getJPGFromImageControl(BitmapImage imageC)
{
       MemoryStream memStream = new MemoryStream();              
        JpegBitmapEncoder encoder = new JpegBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(imageC));
        encoder.Save(memStream);
        return memStream.ToArray();
}

呼叫:

getJPGFromImageControl(firmaUno.Source as BitmapImage)

希望有帮助:)



2> gix..:

我不知道你的Image是如何声明的,但假设我们有这个XAML声明:


    
        
    

然后你可以将test.png的内容转换为像这样的字节数组:

var bmp = img.Source as BitmapImage;

int height = bmp.PixelHeight;
int width  = bmp.PixelWidth;
int stride = width * ((bmp.Format.BitsPerPixel + 7) / 8);

byte[] bits = new byte[height * stride];
bmp.CopyPixels(bits, stride, 0);

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有