易截截图软件、单文件、免安装、纯绿色、仅160KB

Java中的byte

很郁闷  一段很简单的代码  把ARGB转为RGBA,结果图像颜色偏红。
搞了很久,才知道问题出在了byte身上。
一个颜色分量8位,想当然的用了byte,组合成一个像素32位,就是
(r<<24)|(g<<16)|(b<<8)|(a)
问题就出在了byte到int的转换上
byte在Java中是有符号的 (win32中是unsigned char)
这样0xFF转成int就变成0xFFFFFFFF  (-1)
也就是说如果蓝色  b=0xFF的话, 这样转化过后颜色就变为白色了
如果是绿色的话  就变黄色了
不知道Java在设计时怎么想的,byte为无符号才更加贴合我们的需要


相关文档:

Java IO学习笔记:字节流

Java IO学习笔记:字节流
字节流是最基本的流,文件的操作、网络数据的传输等等都依赖于字节流。而字符流常常用于读取文本类型的数据或字符串流的操作等等。
 
关于字节流的API,没什么好说的,看看就知道了。这里挑几个关键点:
 
一、InputStream的API
 
1、public int read()
从输入流读取下一个 ......

希尔排序算法的JAVA实现

package Utils.Sort;
/**
*希尔排序,要求待排序的数组必须实现Comparable接口
*/
public class ShellSort implements SortStrategy
{
       private int[] increment;
       /**
       *利用希尔排序算法对数组ob ......

快速排序算法的JAVA实现

package Utils.Sort;
/**
*快速排序,要求待排序的数组必须实现Comparable接口
*/
public class QuickSort implements SortStrategy
{
       private static final int CUTOFF = 3;             //当元素数大于此 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号