C#/.NET
在不了解位图的情况下开始** 获取位图高度*宽度的总像素数获得总白色像素 其中 R==255 &B==255 &G==255获得总黑色像素 其中 R==0 &B==0 &G==0获得 R=G=B 的总灰色像素 其余的将是应该给我的混合颜色.显然程序会运行数千次,所以我需要使用Lockbits. 当前问题是结果不准确.请建议.尝试使用 aforge.net 或 imagemagick.ne
..
我的印象是 lock() 会阻止多个线程同时访问一个对象. 但是,以下代码仍然经常抛出 InvalidOperationException(对象当前正在其他地方使用): 锁(这个){localCopy = (Bitmap)this.bm.Clone();整数 x, y;浮动 pX = this.p.x;int width = localCopy.Width;x = (int)Math.Ro
..
我尝试将 C# 中的字符串(单个字符)绘制到位图的精确位置: Bitmap bmp = new Bitmap(64, 64);图形 g = Graphics.FromImage(bmp);g.DrawString("W", font1, new SolidBrush(myColor), new Point(32,32); 在单个字母周围渲染了太多空白空间,我无法猜测绘制角色的“所需"位置以使其
..
我正在尝试将我的位图保存到 MemoryStream - 这段代码有什么问题?为什么它让我argumentnullexception ? private void insertBarCodesToPDF(位图条码){......MemoryStream ms = new MemoryStream();条形码.保存(毫秒,System.Drawing.Imaging.ImageFormat.Mem
..
我想将我的程序从一台电脑移到另一台电脑,但问题是图像没有加载到任何其他电脑上(源问题).所以我想知道我是否可以创建一个放置 exe 的文件夹并将其命名为 Resources 并从那里加载每个图像. image2.Source = new BitmapImage(new Uri(@"Res\startoh.png")); 解决方案 您可以将图像作为资源添加到您的 Visual Studio 项
..
当我尝试保存我之前加载的 BitmapSource 时,会抛出一个 System.IO.IOException,指出另一个进程正在访问该文件并且无法打开文件流. 如果我只保存而不提前加载,一切正常. 加载代码: BitmapImage image = new BitmapImage();image.BeginInit();image.UriSource = uri;如果(解码像素宽度
..
我有一个函数,它首先从磁盘读取图像,调整其大小,然后保存到另一个目录. 当我使用 Bitmap.Save(directory + theimagename) 时,它会返回我在问题标题中所述的错误. 我检查了目录是否正确,该目录中不存在给定的图像名称. 奇怪的是,相同的代码在本地机器上运行良好.但是当我将它上传到我的共享托管空间时,它就不起作用了. 代码如下. bmpOut
..
使用系统;使用 System.Collections.Generic;使用 System.ComponentModel;使用 System.Data;使用 System.Drawing;使用 System.Linq;使用 System.Text;使用 System.Windows.Forms;使用 System.IO;命名空间转换{公共部分类 Form1 :表单{公共 Form1(){初始化组件(
..
using (var bmp = new Bitmap(image.Width, image.Height, PixelFormat.Format32bppArgb))使用 (var g = Graphics.FromImage(bmp)){g.Clear(颜色.透明);g.DrawImage(image, 0, 0);bmp.Save("image.bmp", ImageFormat.Bmp);
..
我需要编写一个程序,该程序将根据图块集图像生成 108 个图标组合(标准 Windows .ico 文件). 我使用 System.Drawing.Bitmap 类来构建每个组合,并像这样保存它们: Bitmap IconBitmap = new Bitmap(16, 16);//一些处理,写入源tileset的不同部分//...IconBitmap.Save(Path.Combine(T
..
我正在用 C# 编程.我有一个 RichTextBox. 在运行时,我通过编码将一些位图图像插入到richTextbox中.但我想阻止用户拖动我插入的图像或在 RichTextBox 中粘贴一些其他图像. 我该如何实现? 提前致谢! 解决方案 我使用了这段代码,效果很好: private void richTextBox1_KeyPress(object sender,
..
正在寻找将pdf文件的指定页面转换为位图图像的解决方案. 解决方案 我在以前的项目中做过这个.我们使用了 ImageMagick.NET,它可能是最伟大的开源图像处理 API 的包装器,ImageMagick http://imagemagick.codeplex.com/
..
我有一个处理图像编辑(裁剪和调整大小)的 Windows 应用程序项目.不幸的是,这些图像处理会消耗大量内存和 CPU 资源(很容易达到 600MB 或 50% 的 cpu),而且只需要裁剪和调整一张 2.5MB (2300*5400px) 的 gif 图像.更重要的是,由于资源消耗大,程序在调整大小时卡住...... public static Image Resize(Image imgT
..
..
在 C# 中将 32 位位图转换和保存为 1 位(黑/白).bmp 文件的最简单方法是什么? 解决方案 此代码将完成工作: 使用 System.Drawing.Imaging;使用 System.Runtime.InteropServices;...公共静态位图 BitmapTo1Bpp(Bitmap img) {int w = img.Width;int h = img.Height;
..
我一直在尝试将位图设置为 MP3 的封面,但我似乎无法让它工作.它没有抛出任何错误,但是当我播放 MP3 时,位图没有显示. 这是我目前拥有的: TagLib.File f = TagLib.File.Create("song.mp3");图像 currentImage = getAlbumArt(result.passedAlbumID);图片图片 = 新图片();pic.Type =
..
我正在尝试使用 C# 处理 Canon RAW .CR2 文件.我的代码如下: BitmapDecoder bmpDec = BitmapDecoder.Create(new Uri(origFile), BitmapCreateOptions.DelayCreation, BitmapCacheOption.None);BitmapEncoder bmpEnc = new BmpBitmapE
..
我一直在编写 PCX 解码器,到目前为止,PCX 图像本身解析得很好,但我不知道如何设置位图的调色板. 我已经创建了一个像这样的位图: Bitmap bmp = new Bitmap(width,高度,步幅2,System.Drawing.Imaging.PixelFormat.Format8bppIndexed,像素); 但我似乎无法使用以下方法设置调色板: for (int i =
..
有什么方法可以转换WriteableBitmap 到 C# 中的位图? 解决方案 实际上非常简单.下面是一些应该工作的代码.我还没有测试过它,我是从头开始写的. private System.Drawing.Bitmap BitmapFromWriteableBitmap(WriteableBitmap writeBmp){System.Drawing.Bitmap bmp;使用 (Me
..
假设我有一个 32bpp ARGB 模式的 System.Drawing.Bitmap.这是一个大的位图,但它主要是完全透明的像素,中间有一个相对较小的图像. 检测“真实"图像边界的快速算法是什么,这样我就可以剪掉它周围的所有透明像素? 或者,.Net 中是否已经有一个函数可以用于此目的? 解决方案 基本思想是检查图像的每个像素点,找到图像的上、左、右、下边界.要有效地执行此操
..