Tag: 图像

为什么不能将任何字体保存为图像? (但要在我的窗体上显示)

我有点困惑,因为我可以在我的窗体上显示每个字符串的每个字符,但作为图像,它并不总是可能的。 也许我的代码有问题。 但是,让我告诉你我在尝试什么。 起初我有这个: Label l = new Label(); l.Text = “Ì CSharp Δ; this.Font = new Font(“Code 128”, 80); l.Size = new System.Drawing.Size(300, 200); this.Controls.Add(l); this.Size = new Size(300, 200); 嗯这很好。 现在我想尝试使用与image相同的字体保存相同的字符串。 我找到了这段代码,我认为这是怎么做到的 private static Image DrawText(string text, Font font, Color textColor, Color backColor) { //first, create a dummy bitmap just to get a […]

异步加载BitmapSource映像时内存泄漏

我有一些我正在加载到WPF应用程序中的ListBox中的图像。 最初我使用GDI来调整图像大小(原件占用的内存太多)。 这很好,除了他们每张图片大约需要400毫秒。 不太好。 因此,在寻找另一种解决方案时,我发现了一种使用TransformedBitmap(inheritance自BitmapSource)的方法。 那很好,我想,我可以用它。 除了我现在正在某处发生内存泄漏…… 我正在使用BackgroundWorker异步加载图像,如下所示: BitmapSource bs = ImageUtils.ResizeBitmapSource(ImageUtils.GetImageSource(photo.FullName)); //BitmapSource bs = ImageUtils.GetImageSource(photo.FullName); bs.Freeze(); this.dispatcher.Invoke(new Action(() => { photo.Source = bs; })); GetImageSource只从路径获取Bitmap,然后转换为BitmapSource。 这是ResizeBitmapSource的代码片段: const int thumbnailSize = 200; int width; int height; if (bs.Width > bs.Height) { width = thumbnailSize; height = (int)(bs.Height * thumbnailSize / bs.Width); } else { height […]

去除斑点 – 从图像中去除斑点或点

我正在使用Winforms。 在我的表格中,我有一个显示黑白图像的图片框。 我还有一个按钮,如果你点击它,该按钮将删除图像上的斑点/点。 当图像尺寸不大时,它会快速消除斑点。 如果图像很大,则需要一段时间。 此外,有时这个函数会从它认为是一个点的图像中删除一些单词。 如何提高此function的性能,更准确地去除斑点或点基本上去除图像? 更新研究后,我发现这个库对于这个问题似乎很有希望: http://www.aforgenet.com/framework/docs/html/cdf93487-0659-e371-fed9-3b216efb6954.htm 斑点图片链接: http : //www.filedropper.com/testing-image3 图像示例 注意链接中的图像有更大的版本: 图像信息 这里需要注意的是它是一张黑白图像 – Bit Depth 1 我的代码 private int[] mask = new int[9]; private void remove_spot_btn_Click(object sender, EventArgs e) { Bitmap img = new Bitmap(pictureBox1.Image); Color c; for (int ii = 0; ii < img.Width; ii++) { for (int jj […]

C#内存在Bitmap中泄漏

我的应用程序在这行中出现内存泄漏。如果我看一下任务管理器,每次触发此过程时,RAM内存增加+ – 300 MB .. Bitmap bmp1 = new Bitmap(2480, 3508); panel1.DrawToBitmap(bmp1, new Rectangle(0, 0, 2480, 3508)); pictureBox2.Image = bmp1; 有人可以帮我解决他的泄漏吗? 如果我使用: bmp1.Dispose(); 我在这行的“Program.cs”中得到一个例外: Application.Run(new Form1()); 在此之后,应用程序停止运行… 屏幕应用:

图像加载的性能

我已经尝试了几个小时,用各种方法从文件加载图像。 请看看这两种方法: public Image SlowLoad(string path) { return Image.FromFile(path); } public Image FastLoad(string path) { using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(path))) return Image.FromStream(ms); } 第二种方法比2倍快。 我在这里想念的是什么? 为什么会这样? 我简直不能相信.NET开发人员无法使用我编写的方法更快地实现Image.FromFile。 所以=>我错了。 请告诉我在哪里。 为什么第二种方法快2倍? 我的代码完全正确吗? (线程安全等)。 也许Image.FromFile更安全?

如何找到两个图像之间的差异矩形

我有两个相同大小的图像。 找到它们不同的矩形的最佳方法是什么。 显然,我可以在不同方向上浏览图像4次,但我想知道是否有更简单的方法。 例: 第一张图片http://sofzh.miximages.com/c%23/2cg0u2h.png 第二张图片http://sofzh.miximages.com/c%23/14l0y13.png 差异http://sofzh.miximages.com/c%23/5agshd.png

如何在C#/ .NET中从另一个中减去一个位图?

我有两个位图,由不同的算法变体产生。 我想通过从另一个中减去一个来创建第三个位图来显示差异。 怎么能在.NET中完成? 我查看了Graphics类及其所有选项,包括ImageAttributes类,我有一个预感它涉及颜色矩阵或重映射表function。 有没有人有一些示例代码的链接,或者可以指向正确的方向? 谷歌搜索没有透露太多,除非我的谷歌今天失败了。

如何从System.Drawing.Imaging.ImageFormat获取contentType

如果我有Bitmap并且它具有RawFormat属性。 如何从此ImageFormat对象获取内容类型? Bitmap image = new Bitmap(stream); ImageFormat imageFormat = image.RawFormat; //string contentType = ?

在图像中创建可点击区域?

我必须实现一个我不确定如何继续的解决方案,因为我不太了解这种语言(C#)。 让我解释一下:目标是让某些东西允许用户从一个项目中选择一个区域(具有圆形forms)。 因此,想法是在区域上放置带有数字的图像(所以最后它看起来像一个时钟),并从用户点击的数字中获取区域。 所以我的问题是:是否可以在图像中创建可点击区域? (或者如果你有另一个解决这个function的解决方案,我是开明的) 提前致谢 ! 编辑>>这是一个WinForm应用程序,而不是一个网站。

在C#中动态添加和加载Resources中的图像

我在我的解决方案中添加了一些图像,现在它位于解决方案资源管理器中的images \ flowers \ rose.png文件夹下。 我想要一种方法将此图像动态加载到我的图像控件。 我目前的方法是制作“内容”类型并使用“始终复制”属性。 然后我会给出如下图像的相对路径。 Image2.Source = new BitmapImage(new Uri(“/images/flowers/Customswipe_b.png”, UriKind.Relative)); 有没有办法让它从资源加载而不将其复制到目标系统。