将BITMAP字节数24转换为字节数8,用灰色背景代替白色

2020-08-18 16:57发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,大师们! 我正在尝试将图像B...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,大师们! 我正在尝试将图像BMP上传到具有白色背景色的SE78。 首先,我使用methodif_cl_gui_gp_pres => graphic_proxy〜export获取图像(该图像是在程序GFW_PROG_PIE中绘制的饼图)

呼叫方法gp_inst-> if_graphic_proxy〜export
导出
格式= if_graphic_proxy => co_format_BMP
宽度= 50
高度= 50
导入
* CONTENT_TYPE = S
content_length = lv_length
content = lt_bin_content
retval = retval。

当我尝试使用我的程序将该图像上传到SE78时,一切正常,但是图像中的背景为灰色,我不会上传带有白色背景的图像,因为我可以在我的程序中看到它 PC,如果我下载了。

要将图像上传到SE78,我调用FM SAPSCRIPT_CONVERT_BITMAP_BDS传递我的LT_BIN_CONTENT表(该图形的行位于W3MIMETABTYPE = RAW 255类型),但是在此函数中,在PERFORM FILL_BMFILE_FROM_BMP中,我可以看到我的文件具有 位计数为24而不是8(要查看背景白色,我需要获得256色位图,而不是1600万色位图):

" FILL_BMFILE _FROM_BMP中的代码

大小写bmp_bitcount。
当1.
otf_bminfo-bmtype = c_itf_hex_bcol时。 " 2 color
otf_bminfo-is_monochrome = c_false。
当4.
otf_bminfo-bmtype = c_itf_hex_bcol。" 16 color
otf_bminfo-is_monochrome = c_false。
当8.
otf_bminfo- bmtype = c_itf_hex_bcol。 " 256色
otf_bminfo-is_monochrome = c_false。
当24.
otf_bminfo-bmtype = c_itf_hex_bcol。" 1600万色
otf_bminfo-is_monochrome = c_false。
其他。 "具有bmp_bitcount会提高bmperr_no_colortable的16或32位本色
消息e875。
尾包。

是否有任何功能,方法或其他东西可以将我的bin标签转换为256种颜色? 我需要在SAP内部执行此操作,而不是使用Paint程序。

谢谢。