Tag:

如何拉伸位图以填充PictureBox

我需要拉伸各种大小的位图来填充PictureBox。 PictureBoxSizeMode.StretchImage排序做我需要的但却想不出使用这种方法正确地向图像添加文本或线条的方法。 下图是一个5×5像素的位图,扩展到380×150 PictureBox。 pictureBox.SizeMode = PictureBoxSizeMode.StretchImage; pictureBox.Image = bmp; 我尝试用这种方式调整这个例子和这个例子 using (var bmp2 = new Bitmap(pictureBox.Width, pictureBox.Height)) using (var g = Graphics.FromImage(bmp2)) { g.InterpolationMode = InterpolationMode.NearestNeighbor; g.DrawImage(bmp, new Rectangle(Point.Empty, bmp2.Size)); pictureBox.Image = bmp2; } 但得到这个 我错过了什么?

WinForms性能之谜:派生的PictureBox控件比原来慢?

在我的.NET 2.0项目中,我创建了一个空的派生类System.Windows.Forms.PictureBox : public class NewPictureBox : PictureBox { //absolutely nothing } 然后我做了以下事情: 将派生控件和基本控件的Image属性设置为相当大的图像(800×600), SizeMode为Normal (仅显示左上角部分); 连接了几个NewPictureBox和PictureBox的事件,因此当在表面上拖动鼠标时可以绘制一个选择框; 设置它以便选择框的属性( Width / Height )将在NumericUpDown控件上实时更新。 问题是当在导出的PB上快速拖动鼠标时,与在基础PB上执行相同操作相比,存在相当大的“不稳定性”。 Width / Height值不会实时更新。 有人知道为什么会这样吗? 如何使用派生控件实现相同的平滑度? 谢谢! 对于任何希望查看最小样本项目并描述所述问题的人: http://www.mediafire.com/?i2nq2tmmjzx

在C#中从相对路径的文件中加载图片框图像

我在Windows窗体解决方案中有一个picturebox图像。 用户从数据库中选择一个项目后,我想将图像加载到此图片框中。 图像的文件名将来自数据库,所有图像必须存储在应用程序文件夹(\ Images)的子文件夹中。 我不想在我的解决方案中包含所有这些(2000-3000图像),此外,随着数据库的增长,用户将添加更多图像。 另外,我不想编写绝对路径。 所以这不是我想要的: pictureBox.Image = Image.FromFile(@”C:\Program Files\Application\Images\” + dbase.filename); 我想编写图像文件夹的相对路径,因此无论应用程序将安装在何处,都可以从此特定子文件夹加载图像。 我尝试过这样的事情,使用名为“test.jpg”的临时测试图像: pictureBox.Image = Image.FromFile(@”Images\test.jpg”); pictureBox.Image = Image.FromFile(@”..\Images\test.jpg”); pictureBox.Image = Image.FromFile(@”|DataDirectory|\Images\test.jpg”); 但这些都行不通。 我只能用绝对路径来工作,比如“C:\ Images \ test.jpg”。 我该怎么办?

如何从位图中删除白色背景颜色

我想删除位图中的白色背景颜色 Bitmap capcha = new Bitmap(“C:/image.jpg”); pictureBox1.Image = capcha; 但是我想在我的pictureBox1中显示背景中没有白色的图像

如何将生成的位图加载到PictureBox中?

似乎有很多图片框问题,但我没有找到任何处理将图片框的内容更改为不是简单地从文件加载的位图。 我的应用程序采用一个字节数组并从中生成一个位图。 我真的想避免写入文件作为中间处理步骤。 因为它是一个字节数组,而不是2字节字,我需要使用灰度调色板制作索引位图。 然后我将索引位图转换为普通位图(24位rgb)。 这是导致我出错的代码: pictureBox1.Image = (System.Drawing.Image)bmp2; 当我查看表单(图片框试图绘制)时,线程将简单地停止执行一条消息:“System.Drawing.Image.get_RawFormat()中的无效参数” 我究竟做错了什么? 如何为图片框创建安全位图? 这就是创建“bmp2”的原因: //creating the bitmap from the array System.Drawing.Bitmap bmp1 = new System.Drawing.Bitmap(100, 100, 100, System.Drawing.Imaging.PixelFormat.Format8bppIndexed, MyIntPtr); //creating a proper indexed palette System.Drawing.Imaging.ColorPalette GrayPalette = bmp1.Palette; for (int i = 0; i < GrayPalette.Entries.Length; i++) { GrayPalette.Entries[i] = Color.FromArgb(i, i, i); } bmp1.Palette = […]

VisualBasic InputBox取消

快速提问: 我在我的C#代码中使用了Microsoft.VisualBasic.Interaction.InputBox ,允许用户将网站添加到列表中,但我不希望它们输入空字符串,所以如果发生这种情况,我会给出一个错误弹出窗口。 但是,如果用户按下“取消”,也会弹出错误,我不想这样做。 阅读上面的文档说按“取消”会返回一个空字符串,因此它会触发错误。 还有一种方法可以定义用户用空字符串或“取消”按下“okay”吗? 提前致谢, -Peter

WindowsForm PictureBox.Image为null,即使表单中显示了图像

我正在尝试捕获此设备扫描的指纹 – > http://www.nitgen.com/eng/product/finkey.html 我能够扫描指纹并成功保存二进制数据。 我也可以在图片框中显示指纹。 但是,当我试图保存图片框中显示的指纹时,我收到一个错误,即图片框的图像为空。 下面是我的捕获指纹和从图片框保存图像的代码。 public class Form1 : System.Windows.Forms.Form { public NBioBSPCOMLib.NBioBSP objNBioBSP; public NBioBSPCOMLib.IExtraction objExtraction; private PictureBox pictureExtWnd; private void Form1_Load(object sender, System.EventArgs e) { // Create NBioBSP object objNBioBSP = new NBioBSPCOMLib.NBioBSPClass(); objExtraction = (NBioBSPCOMLib.IExtraction)objNBioBSP.Extraction; pictureExtWnd.Image = new Bitmap(pictureExtWnd.Width, pictureExtWnd.Height); } private void buttonEnroll_Click(object sender, System.EventArgs e) { //tell […]

如何在Microsoft报表中显示来自字节数组的图像

我正在使用Report文件和ReportViewer控件来显示在运行时从对象动态加载数据的报表。 我需要显示一个图像,该图像作为字节数组存储在对象中。 PictureBox的值当前设置为: =First(Fields!ImageData.Value, “dtstItemImage”) 我使用以下方法设置DataSource: ImageBindingSource.DataSource = this.item.Image.ImageData; 代码编译并运行,但图像不会显示在报告中 。 这是因为PictureBox需要绑定到Image对象(而不是字节数组)吗? 或者我可能需要设置PictureBox的一些属性? 更新1 我已经为PictureBox添加了一个边框,只是为了确保它是可见的,它确实显示在报告中。 它只是不包含图像。 更新2 我在我的代码中修正了一个错误。 我改变了: ImageBindingSource.DataSource = this.item.Image.ImageData; 至: ImageBindingSource.DataSource = this.item.Image; 因为PictureBox绑定到ImageData字段但是DataSource是Image对象。 现在我得到一个小十字图标而不是什么(至少对我来说)表示一些进展,但我不知道字节[] – 位图转换代码需要在哪里。

从数据库向每个usercontrol的图片框显示图片?

用户控制代码: private string lastName; public string LastName { get { return lastName; } set { lastName = value; textBox1.Text = value; } } 表格代码: using (SqlConnection myDatabaseConnection = new SqlConnection(myConnectionString.ConnectionString)) { myDatabaseConnection.Open(); using (SqlCommand SqlCommand = new SqlCommand(“Select LastName, Image from Employee”, myDatabaseConnection)) { int i = 0; SqlDataReader DR1 = SqlCommand.ExecuteReader(); while (DR1.Read()) { […]

C#Threading Bitmap对象/ PictureBox

我有一些代码可以显示移动点的video图形。 我正在将点写入位图,并将其放在图片框上。 图形计算必须在自己的线程上完成。 只要你不“太多”移动窗口,图形就可以正常工作。 我正在使用winforms。 当我运行代码,然后疯狂地移动窗口时,我有时会遇到以下错误: @ this.Invoke(d,new object [] {bmp}); “无法访问已处置的对象。对象名称:’Form1’。” @gfx.DrawImage(bmpDestination,new Point()); “对象目前正在其他地方使用。” 这是代码: private void button2_Click(object sender, EventArgs e) { Thread demoThread = new Thread(new ThreadStart(ThreadProcSafe)); demoThread.Start(); } private void ThreadProcSafe() { creategraphics(); } private void creategraphics() { Bitmap bmpDestination = new Bitmap(988, 588); Bitmap bmp = new Bitmap(988, 588); for (int […]