问题标签 [tbitmap]

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.

0 投票
1 回答
2987 浏览

delphi - 如何裁剪 FMX TBitmap

我通过 TCameraComponent.SampleBufferReady 事件收到位图。然后我需要裁剪接收到的图像,以便获得例如矩形图像。

我用以下方法计算必要的参数:

我找到了@RRUZ delphi-how-do-i-crop-a-bitmap-in-place的答案,但它需要 VCL API 句柄并且使用 Windows GDI 函数:

我的项目是使用 FMX,我计划将来将它移植到 Android 平台。因此,如果我使用句柄,我预计会遇到问题。我怎么解决这个问题?

0 投票
1 回答
174 浏览

delphi - 增加 TBitmap 的大小或深度

当我通过(例如)增加位图的大小时......

...我是否可以控制右侧 30 像素的填充内容,或者我只是假设它们未初始化

同样,如果我PixelFormatpf24bitto更改pf32bit,我可以控制初始化 alpha 字节的内容吗?

令人尴尬的新手问题,但我的 google-fu 让我失望了。:)

0 投票
1 回答
225 浏览

delphi - How to convert NSImage to FireMonkey TBitmap?

How to convert an NSImage to Delphis FireMonkey TBitmap? The NSImage is being passed to me from an Objective C API. I am using Delphi XE8.

0 投票
1 回答
163 浏览

delphi - 如何在不先加载图像的情况下使用扫描线进行绘制?

我正在尝试执行以下操作:

不幸的是,我最终得到的是一个完全白色的图像,除了底线,它被适当地着色。一点调试表明,每次我访问该ScanLine属性时,它都会调用TBitmap.FreeImage并进入if (FHandle <> 0) and (FHandle <> FDIBHandle) then块,这会重置整个图像,因此实际上只需要对最后一行的更改。

到目前为止,在我使用的每个演示中TBitmap.ScanLine,它们都是从加载图像开始的。(显然,这会正确设置各种句柄,这样就不会发生这种情况?)但我并没有尝试加载图像并对其进行处理;我正在尝试从相机捕获图像数据。

如何设置位图以便无需先加载图像就可以绘制到扫描线?

0 投票
2 回答
1525 浏览

delphi - 如何将 FMX.Graphics.TBitmap 转换为 VCL.Graphics.TBitmap 或 Vcl.Imaging.PngImage.TPngImage?

如何将 FMX.Graphics.TBitmap 转换为 VCL.Graphics.TBitmap 或 Vcl.Imaging.PngImage.TPngImage?

我的项目中有 FMX 表格和 VCL 表格。

0 投票
1 回答
104 浏览

delphi - 如何从 DFM 流式传输已发布的 TBitmap 属性?

我在 Delphi 7 中创建了一个已发布的 TBitmap 属性。我可以在设计时由编辑器设置它的值,如果我记得编辑器,我可以看到正确的图片。但是当我保存、关闭并重新打开表单时,TBitmap 属性为空。什么不见​​了?我知道有加载的虚拟方法。但是我应该在里面做什么?

0 投票
0 回答
427 浏览

delphi - Delphi Firemonkey 通过 RTTI 获取/设置 TBitmap

如何通过 RTTI 获取/设置 TBitmap?我做了如下:

这给了我:(TBitmapOfItem @ 07A06280)对于将字符串转换为 TBitmap 的操作如下:

这是我的课

我必须将 TBitmap 转换为字符串,以便将其作为广播消息传递给另一个客户端。

0 投票
1 回答
2119 浏览

string - Delphi TBitmap 通过 TBitmapSurface 到字符串并返回到 TBitmap

我正在执行以下操作以将 TBitmap(Firemonkey) 转换为字符串:

如何将字符串恢复为 TBitmap?我做了以下不产生TBitmap:

我需要更小的 base64 字符串,以便将其传输到 Datasnap 服务器。当字符串的大小大于 200000 - 1000000 时,正常的 base64 字符串会导致内存不足。

0 投票
1 回答
384 浏览

delphi - 释放 TBitmap 变量时访问冲突——释放后仍分配位图变量?

我在 VCL 表单应用程序中有此代码:

MyBitmap.Free;当我第二次单击按钮时,我在按钮的单击处理程序中遇到访问冲突。但是MyBitmap在第一次单击按钮后不应再分配。那么,当它显然对第一个按钮单击起作用时,为什么该条件if Assigned(MyBitmap) then在第二个按钮单击上不起作用呢?

德尔福 10.1 柏林更新 2

0 投票
1 回答
569 浏览

delphi - TImage 的图片值不停留 TBitmap

在 Delphi XE3 项目中,我在更改位图图像时遇到问题。在设计视图中, TImage图片值为TBitmap,如下所示:

位图

但是,当我更改图像时,图片值为TDXSmartImage

TDXSmartImage

到目前为止,实际图像类型对将图片值保持为 TBitmap 没有任何影响。位图、PNG、JPEG 以及其他格式都已尝试过。此外,当使用TDXSmartImage构建和运行项目时,没有实际的图像。只有一个白色块,所有其他视觉组件都正确显示在屏幕上。

我无法追踪如何保持TBitmap格式并防止TDXSmartImage格式被“使用”。

有没有人有什么建议?先感谢您。