更新:当使用iOS创建的.bmp并使用“另存为...”在Photoshop中,取消选中“翻转顺序”,这个.bmp将在Adafruit PyPortal上工作(感谢John Park的这条线索)。我在iOS中搜索过,没有找到任何类似于bmp图像数据的“翻转行序”命令。有人熟悉如何将iOS数据转换为这种“未翻转的行序”格式吗?谢谢!约翰
--我在Swift的iOS设备上创建的8位bmp在Adafruit PyPortal上没有显示,但当我通过在线bmp转换器运行相同的bmp(或任何其他320 x 240png或jpeg)时,它就会显示在PyPortal上。Photoshop & Mac Preview可以读取BMP之前和之后的BMP,并且两者都显示为8位"Windows BMP图像“格式的文件。PyPortal需要“一个320 x 240像素的.bmp格式的16位RGB16位光栅图形”,但是降到8位并没有什么区别。可以工作的bmp文件(通过在线转换器运行的文件)在我的Mac上显示为231KB的文件,而不能工作的bmp文件(在Swift中创建的文件)显示为230KB。
我把这两个文件都放到了Google Drive中,网址是:https://drive.google.com/open?id=1DQYes-cJXKm3ue8Z9cACDLEN5bxnnkJc
可以工作的(在Swift中创建,但随后通过bmp转换器运行)名为: adafruit-log-as-iOS-created-bmp-then-converted-online-shows-in-PyPortal.bmp
不起作用的文件名为: adafruit-log- as -iOS-created.bmp (在Google Drive上,它们都显示为225 KB的文件
我在Swift中用来创建bmp的技术就是我在回答这个问题时使用的技术:How to convert UIImage to BMP and save as Data (not JPG or PNG)
并通过Convert UIImage to NSData and convert back to UIImage in Swift?使用@vasily-bodnarchuk提供的有用扩展
当我通过像https://www.diffnow.com这样的逐字节比较引擎运行这些文件时,会发现文件之间存在差异。
我希望有人能迅速评估这两个PyPortal的格式之间的差异,并提供洞察力,让Swift代码创建一些Adafruit bmps可以使用的东西。感谢任何有耐力的人能走到这一步。干杯!
发布于 2020-01-24 05:57:53
我也遇到过类似的问题。我最终在苹果电脑上用画笔编辑了这个文件,并另存为.PNG文件。然后使用python3枕头将图像重新格式化为位图。要做到这一点,你需要: 1)在画笔中创建一个PNG文件(你可以加载一个现有的IOS或OSX位图文件,然后在画刷中将其另存为PNG文件。2)安装枕头: python3 -m pip安装枕头3)编写一个简单的python3程序来转换图像,例如:
from PIL import Image # note Pillow is a fork of PIL but the Image object is in PIL
Image.open("pngFile.PNG").save("bitmapFile.bmp")3)运行程序。这对我很有效。祝好运。
这对我编辑PyPortal Titano的位图文件很有效。
https://stackoverflow.com/questions/57241391
复制相似问题