首页 文章
  • 0 votes
     answers
     views

    使用win32 API或GDI保存到位图

    问题很简单,但我无法在互联网上找到解决我问题的好方法 . 我得到的是我窗户上的一些图纸 . 现在,我可以将使用BitBlt函数从窗口设备上下文保存到图像设备上下文,也可以从那里保存到位图句柄: HDC bitmapDC = CreateCompatibleDC(dc); HBITMAP bitmap = CreateCompatibleBitmap(bitmapDC, 200, 200); Sel...
  • 2 votes
     answers
     views

    调整PNG图像大小而不会丢失完全透明像素的颜色数据

    我一直试图找到一种方法来调整PNG图像的大小而不会丢失完全透明像素的颜色数据 . 这是我用来实现此目的的代码: //sourceImage is also a bitmap read in earlier using (var scaledBitmap = new Bitmap(desiredWidth, desiredHeight, PixelFormat.Format32bppArgb)){ ...
  • 2 votes
     answers
     views

    如何将GDI Graphics / HDC保存到文件中?

    我无法将从设备上下文HDC派生的GDI Graphics对象保存到文件中 . What works :我能够保存从Bitmap派生的GDI图形 . 示例代码(Win32): Color color(255, 0, 0); Pen pen(color, 2.0f); CLSID pngClsid; if(GetEncoderClsid(L"image/bmp", &pn...
  • 7 votes
     answers
     views

    使用混合模式颜色在另一个图像上绘制图像

    在Photoshop中,您可以选择“颜色”(从底部开始的第二个)将混合模式设置为下一个较低层: 如果图像顶部只有一个渐变,结果可能如下所示: 我在某处找到的颜色混合模式的描述是: 颜色将下层的色调和饱和度改变为上层的色调和饱和度,但仅留下亮度 . 到目前为止我的代码是: using(var g = Graphics.FromImage(canvas)) { // draw the lo...
  • 0 votes
     answers
     views

    使用包含没有复制运算符的类的std :: map的问题(Gdiplus :: Image)

    看来我试图用不可复制的对象填充std :: map,但我还没有实现 . General problem 我想使用std :: map来存储一些名为Image的类型的对象(更准确地说,它是Gdiplus :: Image) . 我写不出这样的话: map<string, Gdiplus::Image> loadedImages ; Gdiplus::Image newImage( CSt...
  • 0 votes
     answers
     views

    虚拟打印机设备上下文

    我正在尝试捕获窗口屏幕的内容,但它不适用于在SSH会话中启动的窗口 . 反正有没有让远程应用程序打印内容到虚拟显示器/打印机,以便gui可以捕获?谢谢! 我正在使用PrintWindow来捕获图像 威廉
  • 1 votes
     answers
     views

    GDI - 在打印机设备上下文中使用时,剪辑不起作用

    我正在使用Embarcadero RAD Studio C构建器XE7编译器 . 在一个应用程序项目中,我使用Windows GDI和GDI来绘制几个设备上下文 . 我的绘图内容是这样的: 在上面的示例中,文本背景和用户图片是使用GDI绘制的 . 用户图片也被剪切为圆形路径 . 所有其他项目(文本和表情符号)都是使用GDI绘制的 . 当我画到屏幕DC时,一切正常 . 现在我想在打印机设备上下文中...
  • 0 votes
     answers
     views

    VB赢得自定义控制缩放和平移功能?

    我目前正在为Winforms进行节点图控制,该控件包含的节点基本上只是一个带有属性的“空”类,因此节点在控件中绘制,控件处理它们 . 我的控件需要支持缩放和平移 . 目前我正在使用Graphics.ScaleTransform方法进行缩放,并使用AutoScroll进行平移 . 这两个人自己很好,但是一起使用它们是行不通的 . 为了使平移“更好”,我隐藏了滚动条,将AutoScrollMinSiz...
  • 2 votes
     answers
     views

    GDI曲线“溢出”

    我目前正在使用GDI绘制折线图,并使用 Graphics.DrawCurve 来平滑线条 . 问题是曲线并不总是与我提供的点匹配,这使得曲线在某些点上长出图形框架,如下所示(红色是 Graphics.DrawLines ,绿色是 Graphics.DrawCurve ) . 我该如何解决这个问题?
  • 0 votes
     answers
     views

    Base64编码图像适用于浏览器但不适用于c#

    从HTML5画布获取base64编码图像后,我将包装为JSON对象的base64字符串发送到Generic处理程序 . 处理程序应该将该字符串作为二进制映像写入文件夹 . 但是,当我尝试将字符串保存为二进制图像时,我收到以下错误: System.Drawing.dll中发生类型'System.Runtime.InteropServices.ExternalException'的异常但未在用户代码...
  • 3 votes
     answers
     views

    在GDI中绘制一个用透明度覆盖不透明像素的形状

    我有一个掩码位图(bmpMask),我正在绘制到目标位图(bmpDest) . 两个位图都有alpha通道,但已经充满了不透明的内容 . 我想要做的是在bmpMask上使用GDI'Draw ...'方法生成透明区域,以便当我在其上绘制bmpMask时bmpDest显示 . 当然 gMask.DrawLine(Pens.Transparent, 0, y, wMax, y) 导致bmpMask没有变...
  • 4 votes
     answers
     views

    使用GetHBitmap的GDI中的一般错误(WPF4 / C#)

    我正在使用以下代码捕获屏幕并将其复制到BitmapSource中 . 每400ms通过DispatcherTimer连续调用该方法 . 首先,我在.NET Framework 3.5中使用了此代码,然后切换到Framework 4.0 . 当程序运行一段时间(假设15分钟)时,在GetHBitmap调用期间突然崩溃,出现“GDI中的通用错误” . 当我切换到.NET 4.0时,我不得不注释掉Clo...
  • 0 votes
     answers
     views

    Winforms在自定义形状控件上修复了单边框

    我创建了一个继承自.NET 3.5中的面板的自定义控件 面板有一个自定义的多边形边框,它来自一个pointF数组(在图表中,控件突出显示为黄色) . 图1显示了BorderStyle none的控件 . 图2边框固定单边框 如图2所示,边界遵循边界控制的矩形 . 有没有办法让边框跟随多边形设置的控件的实际边框? FYI使用GraphicsPath对象创建多边形 . 使用GDI绘制线条不起作用,因为...
  • 2 votes
     answers
     views

    将HICON保存为png

    我正在使用IShellItemImageFactory来提取文件的图标 . 我能够成功地提取它并使用SendDlgItemMessage(hDlg,IDC_STATIC2,STM_SETIMAGE,IMAGE_ICON,(LPARAM)hicon)在对话框中显示它; 看输出:click here 问题是当我使用GDI将其保存为文件(PNG格式)时,渐变不会保留校正 . 找到我正在使用的下面的代码 ...
  • 0 votes
     answers
     views

    OutOfMemory Exception后面的泛型GDI异常

    我正在开发一个VB.Net WinForms应用程序 . 此应用程序显示 生产环境 线的行,用户将逐行下载并打印一个ActiveReports文档包 . 此软件包最多可包含9个报告 . 选择该包并告知打印,然后使用ActiveReports机制将其直接发送到机器的默认打印机: rpt.Document.Print(False, False, True) 这些报告还使用从文件系统中提取的图像 . ...

热门问题