Xnview为什么显示不出bmp的图像?

来源:百度知道 编辑:UC知道 时间:2024/05/18 21:20:21
我的xnview是1.91.4版的
我想看bmp的图像的时候,显示不出来或者是显示一半。
并不是通道的问题,那是不带通道的图片

我也发觉这个问题,今天头一次发现,后来搞了半天试验了才知道
因为bmp文件格式也有许多的差别,bmp分为24位的和32位的两种保存

24是指图片颜色的位数,只所以图片要分颜色的位数,是因为既然图片以“像素”形式存贮着,就要记录下来第个“像素”的颜色值,这样才能在打开图片时看到存贮的图片。
记录每一个像素的颜色值占用的二进制位数,就是BMP图片的位数,记录颜色值时又有不同的方法,比如用RGB值,也就是记录下红(RED)、绿(GREEN)、蓝(BLUE)的颜色值进行混合,还有XRGB、ARGB等等。
比如16位颜色值,可心这样分:X1位,R5位,G5位,B5位;R5位,G6位,B5位或者是X、R、G、B均4位等等;
24位颜色值称为“真彩色”,它有着统一的颜色分配:R8位,G8位,B8位;
32位颜色值一般这样分配:X8位,R8位,G8位,B8位或A8位,R8位,G8位,B8位。
当然还有更多的不同颜色值的图片,比如1位的,4位的,8位的等等,每种颜色值所用的位数越多,则表现这种颜色深度的精度越高,所有图像也越逼真,当然图片的容量也就越大。
关键在这里:
当自动保存为32位的A8位,R8位,G8位,B8位这项的时候,问题出现,a8或者x8中它自动保存aphla通道,通道为黑色,即全部透明的通道,所以看到的图片只能看到透明。也就和没有显示一样。把通道改为白色,图片就能显示出来了。这点我已经验证过了。
另外只有当存为这个特定类型32bit的bmp时候才会出现这个问题。
还有一个直接可用xnview解决这个问题的方式
用xnview打开图片以后,点图像菜单的,真彩色
图片自动变为可见的不带通道的24bit,然后再点32位,图像依然可见,双击以后图片保存,这时的32bit中的通道已经是全白的拉,不再影响全图的显示。