Tag: 图像

在单个app实例中加载大量位图时WPF内存不足exception。 有限制吗?

我需要将大量的位图加载到内存中以便在WPF应用程序中显示(使用.net 4.0)。 我遇到麻烦的地方是当我接近大约1,400MB的内存时(我从任务管理器的进程列表中得到这个)。 无论应用程序是在具有4GB内存还是6GB的计算机上运行(以及其他一些我没有详细信息的配置),都会发生同样的事情。 通过减少加载的图像和在1台机器上工作时很容易进行测试,然后它可以对它们进行全部工作,但是当它在一台机器上崩溃时它也可以在所有机器上运行。 当我减少图像数量并允许应用程序加载而不会导致内存exception时,我可以运行应用程序的多个实例(超过单个实例的1.4GB)而没有问题所以它似乎是每个实例限制或每个实例我的错误。 我将图像加载为BitmapImage,它们或者存储在List或者加载到List中,稍后在一堆分层序列中使用它们(使用Writeablebitmap ) 当我在使用中加载图像时发生错误。 在可重复的情况下,我加载了600个640X640图像以及另外200-300个较小的图像,范围从100X100到200X200,尽管它似乎是一个整体位计数问题。 所以我的问题是: *在这种情况下,是否有一些内置的进程内存限制? *是否有更好的技术将大量图像数据加载到内存中? 谢谢,Brian

将System.Drawing.Image转换为System.Windows.Controls.Image?

在C#中有没有办法进行这种转换并返回? 我有一个WPF应用程序,它有一个Image控件。 我正在尝试将该控件中的图像保存到SQL数据库。 在我的实体模型中,我数据库中图片列的数据类型是byte[] 。 所以我找到了一个将System.Drawing.Image转换为byte[]并返回的方法。 但我还没有找到一个从System.Windows.Controls.Image转换为byte[] 。 所以这就是我现在需要进行上述转换的原因。

如何在.Net中调整(缩小)EMF(元文件)?

我有一个EMF文件。 我想把它缩小一点。 如何在.net(或任何工具)中执行此操作而不会出现模糊图像 ? 生成的已resize的图像将转换为另一种格式(png / jpg /无论如何),我可以处理(我认为)。 我还没有在.Net(或任何语言平台)中找到一个处理emf / metafiles的明确例子。 我用GDI +查看了图形编程,但它只引入了Metafiles。 我已经尝试了Image Magick,但你必须转换为另一种格式(我还需要做),结果很模糊(例如缩小并转换为png)。 我已经尝试过Inkscape,但是你只能导入一个EMF文件,并且Inkscape将它倒置并且不成比例地导入到现有的绘图中。 另外,(不要笑)我已经在Window’s Paint中打开了它(少数几个将打开emf的图像编辑软件程序之一)并调整了绘图大小,再次模糊。 更新:这是我用来resize的代码。 这样可行,但生成的图像模糊不清。 代码只是一个通用的图像重新调整例程,不是特定于EMF的 private static Image resizeImage(Image imgToResize, Size size) { int sourceWidth = imgToResize.Width; int sourceHeight = imgToResize.Height; float nPercent = 0; float nPercentW = 0; float nPercentH = 0; nPercentW = ((float)size.Width / (float)sourceWidth); nPercentH […]

C#WPF将richtextbox中粘贴的BitmapImage转换为二进制文件

我有一个richtextbox,我计划保存到数据库,可以将其加载回同一个richtextbox。 我已经将它工作,以便我可以将flowdocument保存为DataFormats.XamlPackage,它可以保存图像,但问题是文本无法搜索。 使用DataFormats.Xaml,我当然有文本,但没有图像。 图像将由最终用户粘贴,而不是应用程序附带的图像。 我尝试使用XamlWriter将文本转换为XML,然后分别从文档中获取图像并将它们作为二进制文件插入到XML中,但我似乎无法找到将图像转换为二进制文件的方法… 有没有人有关于如何将图像分成二进制,与文本分开的想法? 提前致谢! GetImageByteArray()就是问题所在。 码: private void SaveXML() { TextRange documentTextRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); FlowDocument flowDocument = richTextBox.Document; using (StringWriter stringwriter = new StringWriter()) { using (System.Xml.XmlWriter writer = System.Xml.XmlWriter.Create(stringwriter)) { XamlWriter.Save(flowDocument, writer ); } testRTF t = new testRTF(); t.RtfText = new byte[0]; t.RtfXML = GetImagesXML(flowDocument); t.RtfFullText = stringwriter.ToString(); […]

如何将一个图像叠加到另一个图像上?

我想显示由两个图像组成的图像。 我希望image rectangle.png在它上面用image sticker.png显示,其左侧角落在像素10,10处。 这是我得到的,但我如何组合图像? Image image = new Image(); image.Source = new BitmapImage(new Uri(@”c:\test\rectangle.png”)); image.Stretch = Stretch.None; image.HorizontalAlignment = HorizontalAlignment.Left; Image imageSticker = new Image(); imageSticker.Source = new BitmapImage(new Uri(@”c:\test\sticker.png”)); image.OverlayImage(imageSticker, 10, 10); //how to do this? TheContent.Content = image;

旋转图像X度C#wpf

这一直困扰着我多年,我只想要一个简单的方法将图像旋转X度。 (这是炮塔防御游戏,其中炮塔需要向某个方向射击) 我想要这样的东西: public Image getRotatedImage(Image img, float angle) { //Code here to rotate the image return img } 所有这些都在c#wpf ofcourse和动态..希望你们可以帮助我在这里:D

C# – 图像作为可点击按钮

我想制作一些自定义控件,图像作为按钮。 我不希望图像打开按钮 – 我想用从文件中读取的图像完全替换按钮。 可能吗?

在SQL Server 2005 IMAGE列中存储20 Meg文件的最有效方法

我们将文档存储在SQL Server 2005数据库表中,列格式为“Image”。 每次我尝试存储大于1兆的PDF文件时,它都会以某种方式被破坏。 在.NET中是否有任何特别有效的方法可以将大文件(~10megs)序列化并存储到数据库中? [编辑]微软实际上说最大文件大小约为2G可变长度二进制数据从0到2 ^ 31-1(2,147,483,647)字节。 http://msdn.microsoft.com/en-us/library/ms187993.aspx

如何将图像放在Bitmap的图片框中

是否可以从内存中加载图片( byte[]或stream或Bitmap )而不将其保存到磁盘? 这是我用来将byte[]数组转换为Bitmap : unsafe { fixed (byte* ptr = Misc.ConvertFromUInt32Array(image)) { Bitmap bmp = new Bitmap(200, 64, 800, PixelFormat.Format32bppRgb, new IntPtr(ptr)); bmp.RotateFlip(RotateFlipType.Rotate180FlipX); bmp.MakeTransparent(Color.Black); bmp.Save(“test.bmp”); } } 我可以将Bitmap放在表单上的图片框中,而不是使用Bmp.save()吗?

通过指定高度或宽度在ASP.NET C#中按比例调整图像大小

我需要一个允许我调整图像大小的代码,但具有以下function: 1)上传时调整图像大小 2)通过指定高度或宽度按比例调整图像大小。 注意: 应该在ASP.NET C#中完成 例如:函数应获得宽度或高度,并按给定高度或宽度按比例调整图像大小。 假设图像是400(w)x100(h)。 我想告诉函数将图像调整到特定高度,比方说80px。 该function应按比例调整图像大小,同时将图像高度设置为80px和宽度。 另一种选择是告诉函数宽度,比方说200px,函数应该将图像大小调整为200px宽度并相应地设置高度。 3)将图像保存到特定位置(路径)。 4)function可以使用上传的图像或指定图像路径。 5)我希望能够选择图像质量 6)只需要这个用于JPEG 有人可以帮我解决这个问题。 谢谢。