求教:位深度24的bmp转成位深度4的bmp

问题描述

开发环境是C#,求教方法:自定义图片内容,生成一个位深度为4的bmp彩色图片我现在只能生成了非4位的,尝试不少方法也不能转成4位的。着急求教!

解决方案

解决方案二:
24位的rgb是888请问4位的是怎么分配的?
解决方案三:
引用1楼shingoscar的回复:

24位的rgb是888请问4位的是怎么分配的?

灰度图
解决方案四:
16色的就是4位的http://blog.csdn.net/heavensdoor/article/details/8486248
解决方案五:
Bitmapbmp=(Bitmap)Bitmap.FromFile("D:\12345678.png");bmp.Clone(newRectangle(Point.Empty,bmp.Size),System.Drawing.Imaging.PixelFormat.Format4bppIndexed).Save("D:\321.png");

解决方案六:
引用2楼fei2yun的回复:

Quote: 引用1楼shingoscar的回复:
24位的rgb是888请问4位的是怎么分配的?

灰度图

原来如此
解决方案七:
引用5楼shingoscar的回复:

Quote: 引用2楼fei2yun的回复:
Quote: 引用1楼shingoscar的回复:
24位的rgb是888请问4位的是怎么分配的?

灰度图

原来如此

那也不能叫灰度原本图像32位直接保存rgb数据即可4位没法保存rgb数据但是4位可以表示16个索引所以图片保存时候对图片进行处理选出与原图最接近的16个颜色保存进入文件格式的颜色表内然后每个像素用4位表示颜色索引

时间: 2024-08-10 05:30:45

求教:位深度24的bmp转成位深度4的bmp的相关文章

C#图片灰度处理(位深度24→位深度8),用灰度数组byte[]新建一个8位灰度图像Bitmap 。

原文:C#图片灰度处理(位深度24→位深度8) #region 灰度处理 /// <summary> /// 将源图像灰度化,并转化为8位灰度图像. /// </summary> /// <param name="original"> 源图像. </param> /// <returns> 8位灰度图像. </returns> public static Bitmap RgbToGrayScale(Bitmap o

智能时代,深度学习和大数据成了密不可分的一对儿

人工智能时代,深度学习和大数据成了密不可分的一对儿.深度学习可以从大数据中挖掘出以往难以想象的有价值的数据.知识或规律.简单来说,有足够的数据作为深度学习的输入,计算机就可以学会以往只有人类才能理解的概念或知识,然后再将这些概念或知识应用到之前从来没有看见过的新数据上. <智能时代>的作者吴军博士说:"在方法论的层面,大数据是一种全新的思维方式.按照大数据的思维方式,我们做事情的方式与方法需要从根本上改变." 谷歌的围棋程序AlphaGo已经达到了人类围棋选手无法达到的境界

如何在 Java 应用程序中读取 8 位和 24 位 Microsoft Windows 位图(转)

window|程序 如何在 Java 应用程序中读取 8 位和 24 位 Microsoft Windows 位图在 Java 应用程序中加载位图文件的逐步指南 作者:Jeff West 和 John D. Mitchell 摘要目前,标准的 getImage() 方法仅支持 GIF 和 JPEG 图像.尽管存在用于读取 PNG(可移植网络图形)格式的 Java 例程,但我们还没听说过有用于读取 Microsoft Windows 位图图像的阅读程序.Jeff West 撰写的这篇技巧提供了加载

中国人工智能学会通讯——深度学习与视觉计算 1.2 深度学习在计算机视觉领域的应用

1.2 深度学习在计算机视觉领域的应用 深度学习近几年成为国际上非常流行 的重要的数据分析工具,在我们视觉计算 领域也得到了广泛应用.对于传统的视觉 信息处理而言,一般首先要做特征提取: 然后利用特征进行模型学习,比如分类等. 在这个过程中,涉及到模式识别研究中两 个经典的问题,即特征的提取与表示和模 型的学习. 传统算法通常利用经验知识来手工设 置视觉特征,缺少与环境的信息交互以及知 识库的决策支持.举个例子,给定一幅图 像,我们希望知道这幅图像的目标类别(比 如斑马).按照传统的视觉模式分析

如何在64位版本Linux上开发运行32位应用程序

最近换了Linux系统,由i686换成了x86-64,导致在进行开发的时候出用不了原来SDK中32位的开发工具.于是,博主找到如下文章,博主亲测实用: 如何在64位版本Linux上开发运行32位应用程序  内容如下: 很多程序员(特别是别的公司的)跟我抱怨说他们32位软件无法在我们的64位Linux系统上正常运行,而在他们32位机上正常,其实这个很好解决,一般 是64位系统安装后没有默认安装glibc的32位版本,通过简单的执行以下命令即可实现在64位Linux系统上开发运行32位应用程序,而不

linux-32位windows操作系统下可以装64位Linux虚拟机吗?

问题描述 32位windows操作系统下可以装64位Linux虚拟机吗? 10C 最近在学Hadoop,然后很多教程上都是64位的,但是我的电脑是32位的,那我能装一个64位的Linux虚拟机,然后再在Linux虚拟机里装Hadoop64位的吗??(无论答案是"yes"or ""no "" 答案中如果能说明原由,那便是极好的~~~) 解决方案 100%不行,64位主机才支持64位虚拟机,同时也支持32位虚拟机,反过来不行.(bochs qemu之

中国人工智能学会通讯——当知识图谱“遇见”深度学习 1.1 知识图谱与深度学习融合的历史背景

大数据时代的到来,为人工智能的飞速 发展带来前所未有的数据红利.在大数据的 "喂养"下,人工智能技术获得了前所未有 的长足进步.其进展突出体现在以知识图谱 为代表的知识工程以及深度学习为代表的机 器学习等相关领域.随着深度学习对于大数 据的红利消耗殆尽,深度学习模型效果的天 花板日益迫近.另一方面大量知识图谱不断 涌现,这些蕴含人类大量先验知识的宝库却 尚未被深度学习有效利用.融合知识图谱与 深度学习,已然成为进一步提升深度学习模 型效果的重要思路之一.以知识图谱为代表 的符号主义,以

邮件-原有vba32位的程序装的是64位的office,declare后面已经加过Ptrsafe了也不行

问题描述 原有vba32位的程序装的是64位的office,declare后面已经加过Ptrsafe了也不行 Public Declare PtrSafe Function SetTimer Lib "user32" _ (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerfunc As Long) As Long Public Declare PtrSafe Function

64位编译的AES256加密算法,32位编译的能解密吗

问题描述 64位编译的AES256加密算法,32位编译的能解密吗 采用加密算法AES256(libtomcrypt),加密报文的应用程序采用的64位编译的, 解密报文的应用程序是32位,结果解密不了,是AES256针对不同系统,32位和64位编译有啥区别吗 解决方案 按理说没问题,只是你的加密和解密某一侧的代码写错了. 解决方案二: 应该和编译的位数没有关系... 解决方案三: 先看看是不是只有三十二位程序解密失败 然后就是看解密出错的时候错误信息