如何在c#中对PictureBox.Image进行线程安全调用,目前给出了3个错误中的一个
我在表单上使用此图片框,在此图片框上我使用Aforge代码.我将图片框的引用传递到一个网络摄像头类中,我创建了初始化网络摄像头并告诉它在哪里绘制其框架的框架. 但是某个时间(当我想单击CHCK框时,我想用所述图像做事)...我使用简单的代码启动此计时器: timer1.Enabled = true; 此计时器的间隔设置为33. 因此,现在它一直在发射,每次通过循环我的代码都有以下内容: private void timer1_Tick(object sender, EventArgs e) { ... double value = detector.ProcessFrame(new Bitmap(picCapture.Image)); //errors here ... TimerCallback tc = new TimerCallback(sendDataFast); System.Threading.
0 2023-12-10
编程技术问答社区
如何在图片框中把图片向右对齐,放在底部
我的picturebox1比我想加载的图像要大得多.我想做的就是将此图像对齐到右侧,以及屏幕截图上的picturebox底部: 编辑:工作 private void FromCameraPictureBox_Paint(object sender, PaintEventArgs e) { if (loadimage == true) { var image = new Bitmap(@"image.jpg"); if (image != null) { var g = e.Graphics; // -- Optional -- // g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Hig
0 2023-12-10
编程技术问答社区
在WinForms列表框中的图像缩略图
我试图在Windows表单应用程序中的列表框中显示缩略图.我已经阅读并看到了各种建议,但是我正在寻找最简单的建议.这是我想做的事情的细节. 我正在尝试显示图像的缩略图,并在其旁边显示文本. 我已经看过listViews,它们似乎没有提供我想要的东西.任何代码都将不胜感激. 解决方案 将您的列表框设置为所有者draw 然后在itemDraw事件中(还是drawitem?)抓取图像并将其绘制在分配的空间(e.Graphics.DrawImage)中,然后绘制旁边项目的测试(e.Graphics.DrawString) 其他解决方案 ImagelistBox有很多实现.可以在这里找到: 其他解决方案 将图像列表分配到列表框,然后将视图属性设置为:列表或瓷砖,现在每个项目都选择应显示列表中的图像.看起来完全像带有图像的列表框;)
0 2023-12-10
编程技术问答社区
如何设置将ImageList内的图像转换为图标类型?
我在GUI应用中的成像师中有几个图标.我想从此列表中设置通知图标,但问题是它仅接受图标实例而不是图像. System.Windows.Forms.NotifyIcon trayIcon = ...; System.Windows.Forms.ImageList notifierImageList = ...; trayIcon.Icon = notifierImageList.Images[0]; //This fails since no such cast exist 谢谢. 解决方案 这是几个选项. ,您可以将其存储为资源.然后从资源构建图标对象. 通过创建句柄将图像转换为图像.我在网络上找到了这个. notifyIcon1.Icon = Icon.FromHandle(((Bitmap)imageList1.Images[0]).GetHicon());
0 2023-12-09
编程技术问答社区
VB.NET Winforms: 叠加两个透明图像
我试图在Winform中覆盖两个透明的图像,但它一直在呈现顶部透明图像后面的表格背景图像,而不是第二张图像... 我的基本设置是我有两个面板,在每个面板中都是一个图片框.图片框中的每个图像都有一些透明区域.我将面板的后色设置为color.transparent. 当我做一个面板覆盖另一个面板时,我看到表格的后色通过了与底层图像相反. 我是否错过了我可以设置的属性? 解决方案 您只需要一个图片框.可以使用图形完成覆盖层. Imports System.Drawing Dim OverlayImage As New Bitmap("Some Path", True) Dim BackImage As New Bitmap("Some Path", True) g As Graphics = Graphics.FromImage(BackImage) g.DrawImage(OverlayImage, 0, 0) pictureBox1.Image = Ba
0 2023-12-09
编程技术问答社区
创建一个图片的ListBox?
如何在我的Winforms应用程序上创建一个以有序方式的图像的列表框控件,就像它保存文本一样? 我希望这些图像像这样出现: 也许我什至不需要使用listBox.也许为此目的有更好的控制?谢谢! 解决方案 您可能想要一个所有者 - 抽奖列表框. 事件. 其他解决方案 使用每个图像(例如文件名),将所有图像加载到图像库中.确保将图像图像设置为图像的大小. 将listView grounimagelist属性设置为您加载的成像师. 将每个listView项目的imageKey属性分配给与图像符号匹配的键. 将listView视图样式设置为view.largeicon. 利润.
0 2023-12-09
编程技术问答社区
即使表格中显示有图像,WindowsForm PictureBox.Image仍为空。
我正在尝试捕获该设备扫描的指纹 - > 我能够扫描指纹并成功保存二进制数据.我也能够在图片框中显示指纹.但是,当我试图保存图片框中显示的指纹时,我会遇到一个错误,即图片框的图像为null. 下面是我捕获指纹并从图像框中保存图像的代码. 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.
0 2023-12-09
编程技术问答社区
如何使用Windows窗体改变按钮上的图像?
如何在Button上的两个图像之间切换? 我想在同一按钮上使用"锁"和"解锁"图像. 到目前为止,我已经使用了属性窗口来设置一个图像. 更新: 许多好的答案,但我应该提到我的两个图像在属性文件夹中.如何使用相对路径访问它们? 解决方案 您很可能必须更改代码范围内的Button.Image属性.请参阅 msddn文档关于如何执行此操作的样本. 其他解决方案 简单: button1.Image = System.Drawing.Image.FromFile(@"C:\Users\Administrator\Pictures\forestfloor.jpg"); P.S.在设置图像之前,检查它是否存在 其他解决方案 您可以使用2种方法更改Windows表单按钮的图像 相对路径的方法1 button1.Image = System.Drawing.Image.FromFile(@"C:\Users\jk\Desktop\icons\ima
0 2023-12-09
编程技术问答社区
提高使用.tif图像推进到下一页时的性能
我正在使用winforms.在我的形式中,我有一个打开的和下一个按钮.我的应用程序将.tif图像打开到图像框中.我使用的所有.tif图像都有多个页面.下一个按钮是为tif图像中的下一页.我使用的这些.tif图像很大. 示例:维度:2600 x 3300(.tif图像) 问题:如何优化应用程序的性能?我已经阅读/研究,可能必须直接从计算机内存和其他一些方法加载图像.我将如何解决这个问题,或者有更好的编码方法? 那是我到目前为止的代码,但是当我进入下一页时,我的应用程序会有所滞后. 下面是大型TIFF图像的链接,并具有多个用于测试的页面. 链接 FileStream _stream; Image _myImg; // setting the selected tiff string _fileName; private Image _Source = null; private int _TotalPages = 0; private int intCur
0 2023-12-09
编程技术问答社区
在图像中创建可点击区域?
我必须实现一个解决方案,我不确定该如何进行,因为我不知道这种语言(C#). 让我解释: 目标是使用户可以从项目(具有圆形形式)中选择一个区域. 因此,将这个想法放在区域上的图像(最终看起来像个时钟),然后从用户单击的数字中获取区域. 所以我的问题是:是否可以在图像中创建可单击的区域? (或者,如果您有其他解决方案,我胸怀开放) 预先感谢! 编辑>>这是用于Winform应用程序,而不是网站. 解决方案 谢谢大家的回答,其中有有趣的事情. 不幸的是,由于我必须非常快速地开发此图片,因此我创建了一个图像,我会在其上捕获onclick事件,然后捕获用户使用光标点击的区域. int X = pictureBox.PointToClient(Cursor.Position).X; int Y = pictureBox.PointToClient(Cursor.Position).Y; 也许不是这样做的"清洁"方法,但它起作用了! 谢谢! 其他解决方
0 2023-12-09
编程技术问答社区
图片上的这种质量损失是怎么来的?
在我的Winforms应用程序中,该应用程序通过LINQ连接到数据库的SQL我正在保存图像(始终 *.png)到一个看起来像这样的表: CREATE TABLE [dbo].[Images] ( [Id] INT IDENTITY (1, 1) NOT NULL, [Bild] IMAGE NOT NULL, PRIMARY KEY CLUSTERED ([Id] ASC) ); 在我可以存储一张图片之前,我必须将其转换为byte[],这就是我这样做的方式: public static byte[] ImageToByteArray(System.Drawing.Image imageIn) { using (MemoryStream ms = new MemoryStream()) { imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.P
0 2023-12-09
编程技术问答社区
如何在c#中使用winforms从网上下载图片,并显示下载的进度?
我使用WebRequest从异步下载图像以这种方式: public void Download(string url) { byte[] buffer = new byte[0x1000]; WebRequest request = HttpWebRequest.Create(url); request.Method = "GET"; request.ContentType = "image/gif"; request.BeginGetResponse(result => { WebRequest webRequest = result.AsyncState as WebRequest; WebResponse response = webRequest.EndGetResponse(result); ReadState readState = new ReadState() { Response = r
0 2023-12-09
编程技术问答社区
将位图转换为图标
我正在尝试将图像从Bitmap转换为Windows图标.这是代码. private void btnCnvrtSave_Click(object sender, EventArgs e) { Bitmap bmp = (Bitmap)picturePanel.BackgroundImage; Bitmap newBmp = new Bitmap(bmp); Bitmap targetBmp = newBmp.Clone(new Rectangle(0, 0, newBmp.Width, newBmp.Height), PixelFormat.Format64bppArgb); IntPtr Hicon = targetBmp.GetHicon(); Icon myIcon = Icon.FromHandle(Hicon); SaveFileDialog sfd = new SaveFileDialog(); sfd.Titl
0 2023-12-09
编程技术问答社区
C#-图像作为一个可点击的按钮
我想用图像作为按钮进行一些自定义控件.我不希望按钮上的图像 - 我想用文件从文件中读取图像完全替换按钮. 有可能吗? 解决方案 您可以使用 控制和使用 Click 事件在其上处理点击. 其他解决方案 您可以在按钮的BackgroundImage中使用图像,然后将FlatStyle更改为平坦,FlatAppearance MouseDownBackColor&MouseOverBackColor的颜色变为透明.它应该看起来与普通图片​​/图片框相同,并具有Button的属性和事件.
0 2023-12-09
编程技术问答社区
System.Drawing.Image和System.Drawing.Bitmap之间有什么区别?
我很困惑System.Drawing.Image和System.Drawing.Bitmap 之间的区别是什么 有人可以解释这两种类型之间的主要区别吗? 为什么要使用system.drawing.bitmap代替system.drawing.image? 解决方案 Bitmap从Image继承: System.Drawing.Bitmap : System.Drawing.Image { } Image是一个抽象类,这意味着: 抽象修饰符表明正在修改的事物缺失或不完整的实现. Bitmap是一个密封类,这意味着: 应用于类时,密封的修饰符可防止其他类从中继承. 请参阅以下内容: Bitmap bmp = new Bitmap(filename); // Works Image img = new Image(); // The compiler says: "Cannot access internal constructer '
0 2023-12-09
编程技术问答社区
我如何改变PictureBox的图像?
我在Form内的PictureBox对象中有一个程序.我该如何更改图片?要选择的图片是在垃圾箱/图片中;如果这很重要,它们是jpeg的. 解决方案 分配一个新的 Image Image 对您的PictureBox's Image属性的对象.要从文件中加载Image,您可以使用 Image.FromFile 方法.在您的特殊情况下,假设当前目录是bin下的一个目录,则应加载图像bin/Pics/image1.jpg,例如: pictureBox1.Image = Image.FromFile("../Pics/image1.jpg"); 此外,如果这些图像是静态的,并且仅作为应用程序中的资源使用,那么资源将比文件好得多. 其他解决方案 如果您的图像导入了项目中的资源,也有: picPreview.Image = Properties.Resources.ImageName; 其中 picpreview 是图片框的名称, imagename 是您要显示的文
2 2023-12-09
编程技术问答社区
PictureBox不能正常刷新?
如果我问一个愚蠢的问题,我是对赦免我的新手. 我正在尝试显示我从现场相机获得的实时图像.当我启动程序时,图片框能够显示对象(请参阅Picture1).当我删除对象时,它显示此图像(请参阅图2).但是问题在于,当我放回对象时,我应该能够获得与Picture1相似的图像,但看起来像Picture2. 是因为图片框无法正确刷新吗? //R Mode Tab private void RModeToolStripMenuItem_Click(object sender, EventArgs e) { // There is a method, which will obtain the data value and pass to this drawpix drawPix(x, y, (int)data, (int)data, (int)data); pictureBox.Refresh();
0 2023-12-09
编程技术问答社区
使用reportviewer在运行时向报告插入未知数量的图片
我正在使用ReportViewer,我想在运行时向报告中添加未知数的图像. 用户应选择一些图像(在另一个位置),这些图像应在报告中互相显示. 您是否知道如何使用ReportViewer? 谢谢 Ofir 解决方案 有很多方法可以做到这一点.这是一种可能性: 您需要动态设置报告的数据源,此博客文章将有所帮助. 您的数据集需要具有一个带有一列的表,类型字符串. 在报告设计师(双击RDLC文件)中,添加一个表.删除列直到剩下.在其余的单元格中,添加图像.将图像类型设置为外部.将图像的SRC设置为您数据集字段的表达式. 在运行时,收集用户想要的所有图像.这些图像需要在某个地方,Winforms查看器的本地文件系统或WebForms Viewer的服务器上访问.然后设置一个字符串数组,其中包含这些图像的路径作为报告的数据源.该报告将用户这些字符串以查找图像,并为您给它的每个字符串添加一个图像. 其他解决方案 我做了以下内容以显示矩阵中未知数项目的图像列
0 2023-12-09
编程技术问答社区
C#-在背景图像上绘制顶部图像(alpha通道)-WinForm
我在其中有了Alpha Channel的拍摄,我需要将此图像放在另一个背景图像上,而顶部图像的Alpha通道显然保持完整. 现在我已经看到了一些帆布教程,但是我的项目似乎无法识别帆布. 有人知道为什么我不能使用帆布或如何将这2张图像彼此放置? 解决方案 好吧,我会尝试回答:加载图像后,或多或少,伪代码: Bitmap bmp = new Bitmap("MyCooolSemiTransparentImage.png"); bmp.MakeTransparent(colorHaveToBeRenderedTransparent); colorhavetoberenderedtransparent是一种颜色的结果 non 将其加载到Bitmap对象后透明. 编辑 如果Alphachannel还可以,这是一个简单的教程,如何在Winforms上绘制图像: msdn:drawimage 以Yuor表单上提供的呼叫方法Onpaint Over
0 2023-12-09
编程技术问答社区
C#动态地生成一个网站会接受的cookie?
我几乎尝试了网络上找到的所有相关解决方案,但由于某种原因,它们都拒绝工作.而且这也行不通: c# - c#-httpwebrequest Post(登录到Facebook),因为我们正在使用不同的方法. 我不是在使用邮政方法,而是在请求中使用的GET方法.我使用的网站不需要任何登录凭据来获取图像. (该站点已不需要cookie的大多数其他根域.) 以下代码是我想出的要使程序像基于Web的版本一样获得图像的一部分,但是有一些问题. 之前,我试图使用普通的网络电量来下载图像,因为它拒绝以任何picturebox控件接受的方式显示.但是后来我切换到httpwebrequest. 我试图从需要cookie获取图像的网站的特定根域. 下面是一个代码段,基本上试图从站点获取图像.唯一的麻烦是,除非您在httpwebrequest和cookie中通过一些东西,否则几乎不可能从网站上获取图像. 目前,我正在使用静态曲奇作为临时解决方法. HttpWebReque
0 2023-12-09
编程技术问答社区