问题标签 [bmp]
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.
file - bmp文件的比较?
我想比较两个 bmp 文件。我想到了两种方法:
- 比较两个文件的标题以及信息标题
- 把bmp文件转成二进制然后做上面的比较
但是,我不知道如何开始,哪种方法更好。如果有人可以帮助我,我会很高兴!
image - Delphi 7 中使用 Paradox 实时 BMP 到 JPG 转换
在这里和 Code News Fast 进行研究,我没有看到任何与我的问题有关的内容。我有一个应用程序,当用户单击我的应用程序中的按钮以加载它时,通过剪贴板从第三方拍照程序获取客户图片(JvDBImage)。(PhotoImage.PasteFromClipboard)。这会将图像加载并保存为位图……有时是 BIG BMP。所以,我需要一些可以保存和加载 JPG 的东西。
我试过:.. 使用 JPeg
这不会编译,因为分配是两种不同的类型。我还花了一些时间在剪贴板上工作,试图将其放入 TMemoryStream 中,但没有成功。
我的下一个尝试是将其临时保存到文件中,然后将其作为 JPG 检索,但这会很慢,而且我不确定我正在尝试做的事情是否可行。所以,与其走另一条小巷,我想我会在这里发布问题。
有问题的数据库有一个名为 Photo 的 memo(1) 字段,PhotoImage 连接到该字段。
c - 从 bmp 文件中读取字节
如何使用 C 从 bmp 文件中读取字节?
c# - 在 C# 中将 png 转换为 bmp
无论如何,我可以在 C# 中将 png 转换为 bmp 吗?
我想下载一张图片,然后将其转换为 bmp,然后将其设置为桌面背景。
我已经完成了下载位和背景位。
我只需要将png转换为bmp。
jpeg - 在 BMP 到 JPEG 转换方面需要帮助
我正在编写一个 C++ 程序来将 BMP 图像转换为 JPEG。
这是我试图遵循的基本算法:
- 将 RGB 颜色空间转换为 Y,Cb,Cr..
- 将 Cb 和 Cr 向下采样 2(这意味着对于 2*2 的每个方形块有 4 个不同的 Y 值,但 1 个 Cb 和 1 个 Cr 值
- 将 DCT 应用于每个 8*8 像素的数据单元...
- 然后使用标准的 Cb 和 Cr 量化表对 DCT 系数进行量化。
- 做之字形排序。
- 使用霍夫曼编码分别对直流和交流系数进行编码。
- 写入正确的标头并将霍夫曼编码值写入文件...
我已经验证我正确地执行了上述操作,但我仍然遇到以下问题:
- 生成的 JPEG 未正确显示。
- 我制作了一个小的 8*8 24 位(颜色深度)bmp 文件,完全填充了颜色值 R=10 B=10 和 G=100...所有 64 个像素都是相同的颜色..
- 我在每一步得到的数据如下......
- BMP 标头大小为 40
- 标头大小 40
- 宽度 8
- 身高 8
- 飞机数量 1
- 每像素位数 24
- 图像尺寸 194
- x 分辨率每米像素 2834
- y 分辨率每米像素 2834
- 颜色数 0
- 小鬼颜色数 0
- (R,B,G)=(10,10,100)的Y Cb Cr换算为(62,-29,-37)
所以让我们首先考虑 Y 分量。
Y 分量的 DCT 系数为:
在量化之后,对于 Y 分量,我得到的单个数据单元的锯齿形排序是这样的。
现在上述之字形顺序数组的霍夫曼编码为:
- Y直流编码:00111110
- Y ac 编码:1010(对于 ac 霍夫曼表(亮度 Y)EOB 值为 1010)
- Cb和Cr分量的类似哈夫曼编码如下:
- cb直流编码:11000010
- cb ac 编码:01(对于 ac 霍夫曼表(色度 Cb,Cr)EOB 值为 01)
- cr直流编码:110101110
- cr 交流编码:01
我得到的最终霍夫曼代码是:
001111101010110000100111010111001 长度33
所以为了使它能被8整除,填充1就完成了。
这里每个 0 或 1 实际上是一个位,需要按原样存储在 JPEG 文件中,但由于我们不能逐位写入文件,因此总共取 8 位并转换为基数中的整数值10 并存储到一个 1 字节的字符中。
任何人都可以就我哪里出错提供任何建议吗?
java - 如何在 Java 中从原始字节 [] 创建 BMP 文件
我有一个与相机通信并获取原始图像数据的 C++ 应用程序。然后我在 C++ 中有一个 Byte[],我想用 JNI 将它发送到 Java。
但是,我需要将原始 Byte[] 转换为真实的文件格式(.bmp 是我的首选)。如果我使用 BITMAPFILEINFO 和 BITMAPHEADERINFO 将其从 C++ 写入硬盘驱动器上的文件,我可以轻松做到这一点,但我不知道如何将整个格式发送到 Java。
然后我考虑使用 JNI 仅发送原始字节 [] 数据,然后将其转换为 .bmp,但我似乎无法在 Java 中找到任何好的库来执行此操作。
我最好的选择是什么?在 C++ 中转换图像,然后使用 JNI 发送,或者将 RAW 数据发送到 Java,然后将其转换为 .bmp?我将如何最容易地实现这一目标?
winapi - 如何以编程方式创建位图?
我想以编程方式创建一个随机的 X 高度和 Y 宽度位图文件。
对我来说,内容无关紧要。它可能全是白色的,空的。重要的是维度。
如何使用 Windows API 做到这一点?
32-bit - 有人可以给我提供 32 位 BMP 图像格式的规格吗?
我的应用程序在打开 32 位 BMP 图像时出现问题。一些图像具有 alpha 通道并具有一定的价值,但窗口图像查看器 picasa photoshop 似乎忽略了 alpha 通道。我怎么知道我是否应该考虑 Alpha 通道。
所以我需要一个 32bit BMP Image 的规格。任何人都可以帮忙吗?
非常感谢!
c++ - SDL 中的动态纹理加载
我在 SDL 中打开纹理时遇到问题。我有一个功能来读取 bmp 文件,优化它们并添加颜色键:
}
效果很好。然后我像这样加载我的所有纹理,这也有效:
但我希望能够通过某种数据文件来控制这些东西。所以我写了一个函数来解析一个csv文件。然后我得到值并尝试读取 bmp 文件,如下所示:
}
这工作得很好,它记录了实际存在的文件的路径,我已经仔细检查了每个文件。但是 SDLS.LoadImage() 调用无论如何都会失败并且程序崩溃。如果我注释掉那条线,那一切都很完美,只是在瓷砖应该在的地方没有渲染任何东西。但是当我手动加载它们时文件就在那里并且可以工作,并且在我尝试调用 SDL_DisplayFormat() 之前初始化了 sdl,所以我不知道这有什么问题:(
编辑:请注意不要让人们感到困惑;SDLStuff 类使用纹理指针的缓存。这样我就可以遍历缓存,通过调用 SDLStuff 中的一个函数来释放所有加载的纹理。
java - 如何从存储在 txt 文件中的 rgb 数据创建 bmp 文件?
我必须从两个 txt 文件创建一个 bmp 图像。第一个是 mxn 数组:
* * * * * * * *
mn
c11 c21 .. cm1
...
c1n c2n .. cmn
* * * * * * * *
* * * * * * * *
6 5
.7 .7 .6 1.0 1.2 .1
.9 .3 .7 1.1 .7 .2
1 1.1 1.2 1.3 1.7 .6
.5 .6 .5 .4 .9。 1101
2 .1 .1 .1 2.1 1.1
* * * * * * * *
第二个txt文件是一个色标,像这样
* * * * * * * *
min1 max1 r1 g1 b1
min2 max2 r2 g2 b2
...
minx maxx rx gx bx
* * * * * * * * *
* * * * * * *
0 .5 255 128 64
.5 .75 128 255 32
.75 1.25 64 64 225
01.50 5 128 128 0
* * * * * * * *
所以我必须从这两个文件中读取。我尝试使用 StringTokenizer 类从第一个 txt 文件创建一个数组,但我完全迷路了。从这两个文件中我必须创建一个 bmp 图像。有人可以以某种方式帮助我吗?