问题标签 [graphics32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 图像中的鼠标右键禁用图像外的第一次单击鼠标事件
我有一个带有 TImgView32 控件(Graphics32 的一部分)的 Delphi 应用程序。我正在处理鼠标移动和鼠标按下事件,这是有效的。问题是每当我在图像中使用鼠标右键时,当我松开鼠标右键(仍在我的图像内——我在松开之前没有离开图像之外)——鼠标左键不运行按钮、复选框、最小化或任何其他控件的事件。它在 TImgView32 中执行额外的鼠标按下事件,直到再次单击。当鼠标不再在我的图像中而不点击两次时,如何让鼠标点击进入正确的控制?我用XE3和2007都编译过,结果是一样的。
delphi - Delphi冻结窗体关闭与自定义组件
我开发了一个组件来实现基于Graphics32的 ImgView32 的平移和缩放功能。可以将组件放在 TImgView32 旁边,设置我的组件的 Image 视图属性,一切都很好,并且按预期工作。但是,一旦我尝试关闭托管我的组件的表单和 ImgView32,Delphi IDE 就会冻结。我的第一个想法是仍然链接到我的组件的 ImgView32 在我的组件之前被销毁,所以我实现了 Delphi 标准通知机制。问题仍然存在。这是我的组件的源代码。该组件包含在运行时包中,而另一个设计时包正在使用运行时包并注册该组件。
更新,作为 Rob 有用的调试技巧的结果:事实证明,组件在对 Notification 方法的无休止调用中挂起。也许那是对某人的暗示。
delphi - Delphi - Graphics32,绘制抗锯齿圆角矩形
如何使用 Graphics32 绘制抗锯齿圆角矩形?
我设法用 TPolygon 在 bitmap32 画布上制作了一个普通矩形,但我找不到任何关于绘制圆角的参考。将不胜感激一些代码。
.net - 是否有任何 .NET dll 可以执行 GIMP 或其他一些图像程序工作?
我想知道是否有任何 dll 可用于导入到我的 C# 项目中以处理图像。我期望做的是:
- 增加/减少亮度,曝光
- 将两张照片放在同一位置,并使用像 Photoshop 那样的“乘法”功能。
- 缩放和调整大小
就我而言,我发现了 gimp#,这不是我所期望的,因为它只适用于 GIMP 插件。再挖一点,我发现了 Graphics32。
Graphics32 正是我在功能方面所需要的,但它不是为 .NET 制作的
我不确定是否可以编译 Graphics32 代码并以某种方式在 C# 中使用它(我正在考虑)
delphi - 结合 Graphics32 组件的旋转和缩放功能
再会。我想合并两个函数来操作位图图像。我想旋转和缩放相同的图像。我所做的是使用给定的示例之一,即 TRotLayer。我的计划是改变 TRotLayer。这就是我所做的。
在第一行,我将 TCustomLayer 更改为 TBitmapLayer,以便我可以使用 TBitmapLayer 的 Location 属性来调整图像的大小和缩放。但是当我开始对缩放部分进行编码时,我似乎无法使用 Location 属性使其工作。这是代码。
它没有用。我哪里做错了?或者是否有一个组件确实具有缩放和旋转属性?期待您的帮助。提前致谢。
德尔福新手在这里... :)
delphi - 缩放 TRotLayer
我正在研究graphics32。我正在使用其示例中的给定组件 TRotLayer。基于示例(Examples/Layers/RotLayer_Ex),创建的RotLayer仅与ImgView一起缩放。如果未分配 ImgView.Bitmap,则 RotLayer 不会缩放。所以我修改了源代码,改变了它的行为。我更改了 TRotLayer.AdjustTransformation 程序。这就是我所做的。
我只是省略了限制并简单地执行了 .Scale 过程。我传递了 Scale.X 和 Scale.Y 的值,它按我的预期工作。图像已调整大小,但现在我的问题是定位。如果我缩放它的高度,图像会向上或向下移动,如果我缩放它的宽度,它会向右或向左移动。我只是想让它调整大小并保持在原来的位置。我注意到函数 .Translate 可能会解决我的问题,但我不知道在参数中传递什么。或者我不知道如何计算要传递的值。
任何人都可以帮助我解决这个问题。谢谢。
delphi - TBitmap32.LoadFromStream() 自动识别图像格式
我正在使用 Delphi XE2(更新 3)和 GR32。我无法使用TBitmap32.LoadFromStream()
加载图像数据。它引发以下异常:
代码
解决方法
如果我注释LoadFromStream()
代码并取消注释前两行,它就可以工作——因此它能够在从文件加载图像时确定图像格式。在此示例中,bs
包含有效的 PNG 图像。但是,有时它可能是 GIF、JPG、BMP 或其他图形格式。
我也知道我可以使用一个中间对象(例如 ,TPNGImage
等TJPEGImage
),将使用的图像数据加载LoadFromStream()
到中间对象中,然后Assign()
将其加载到TBitmap32
. 但是,如果TBitmap32
可以在没有中间对象的情况下处理任何类型的图像会更好,我认为它可以......
问题
有谁知道如何使用TBitmap32.LoadFromStream()
加载图像并让它自动识别图像格式而不将图像保存到 HDD(即使是暂时的),或者使用中间对象?
delphi - 在图层中绘制透明椭圆
我的表单上有一个TImgView32
(名为 CityMap),并在其上加载了一个图像。现在我创建一个 layer( ) 并使用如下变量TBitmapLayer
绘制一个圆:Canvas.Ellipse
TBitmap32
结果是这样的:
如您所见,问题在于烦人的黑色矩形。如何创建这样的结果:
delphi - 颜色 Alpha 通道不完全透明
BitmapLayer
我刚刚用这段代码在 a 中画了一条抗锯齿线:
正如您在下面的结果中看到的,线条透明度像素具有一些绿色值。那是因为$0000FF00
(用于Clear()
)。但是这种颜色的 alpha 通道为零意味着完全透明!
问:我的代码有问题吗?我在某个地方错了吗?
delphi - 如何在 TBitmap 上透明地绘制 TBitmap32?
我正在尝试在正常(TBitmap)图像上绘制包含一些完全透明和部分透明像素的源图像(GR32 TBitmap32),同时保留源图像中的透明度。
我用这个:
但图像不是透明绘制的。
代码:
一切都很基本:我有一个背景位图(Bkg),在应用程序启动时,我在其中加载了一个图像。然后在应用程序中,我从磁盘加载第二张图像(具有透明度的图像)并将其绘制在背景上。