微软开发C#的这帮人,尼玛到底还知不知道有一种数据类型叫做无符号整型?妮们当然知道的撒
不然C#里怎么会有uint怎么会有Uint16怎么会有Uint32但你们一个new Bitmap,width和height居然尼玛用int~你们哪辈子见过width与height是负数的?难不成尼玛把标量当矢量用?技术创新?肏尼玛一天到晚就发编码规范,到最后尼玛自己不遵守规范。尼玛Interlocked.Exchange 有 (ref int, int) 居然就木有 (ref uint, uint)?难道一个uint还要老子去加一个object lockuint ??
不然C#里怎么会有uint怎么会有Uint16怎么会有Uint32但你们一个new Bitmap,width和height居然尼玛用int~你们哪辈子见过width与height是负数的?难不成尼玛把标量当矢量用?技术创新?肏尼玛一天到晚就发编码规范,到最后尼玛自己不遵守规范。尼玛Interlocked.Exchange 有 (ref int, int) 居然就木有 (ref uint, uint)?难道一个uint还要老子去加一个object lockuint ??
难道CLS是残缺语言?连uint都木有,想和脚本语言比谁更简介比谁更脑残比谁更非主流?
(2) 你不能因为人民币只有1元、5元、10元、20元、50元、100元面额,没有30元或者8元而觉得人民币脑残。
如果你明知道width与height无负数,还不规范自己,那就是自己有问题了.
----------------------------------------------------------
PS:别说C#开发者了,你还是先规范一下你自己的语言吧.
(1).数据类型越少就越灵活?那么只保留一个双精度的double而把其他基元数字数据类型都扔掉,那岂不是更灵活?(2).大哥,别偷换概念行不?偶说滴是C#里本来有的uint,而缺少相应的原子操作API。与人民币有没有30元或8元,没有本质上的联系,就算打比方也没有可比性。
那既然这么说,我建议new Bitmap的width和height全部改为string。如果string是一个正数,就当int来处理
如果是负数,就按你说的去做
如果string=="QQ",new 出来的Bitmap就是一个肥企鹅的图像
如果string=="微软老总",那么new 出来的Bitmap可以是比尔盖茨的照片啊..
如果string=="某些敏感事件",那么new出来的Bitmap就是两个字:“河蟹”这样子是不是更爽更刺激更智能更强大更湿更和谐啊?
我抱怨的核心是,C#有了无符号整型,却比有符号整型少了很多本应该有的待遇。java直接就没有无符号整型,我自然就不会去抱怨java。
http://baike.baidu.com/view/1706960.html?fromTaglist
仅因为他们在宽度上使用了int,你想让微软把windows api设计团队当作“脑残的一代”而废弃了吗?那么谁又来接替他们呢?
受教了,原来从WindowsAPI就开始不按规范来做事。
正所谓上梁不正下梁歪。。
http://msdn.microsoft.com/en-us/library/dd183376
BITMAP为DIB数据时,顶点坐标(0,0)可以为左上或者左下,对应的DIB数据存放方式也就有不同了。The height of the bitmap, in pixels. If biHeight is positive, the bitmap is a bottom-up DIB and its origin is the lower-left corner. If biHeight is negative, the bitmap is a top-down DIB and its origin is the upper-left corner.If biHeight is negative, indicating a top-down DIB, biCompression must be either BI_RGB or BI_BITFIELDS. Top-down DIBs cannot be compressed.If biCompression is BI_JPEG or BI_PNG, the biHeight member specifies the height of the decompressed JPEG or PNG image file, respectively.
知道无符号类型和有符号类型一起做运算会出问题吗,知道Java为什么要设计成只有有符号类型吗?抱怨之前先去学下基础知识吧.
LZ可以去看看Bitmap的格式标准。
难道LZ不知道VB和J#是没有uint的,要统一这些语言必须支持的最小规范要求,
必须牺牲uint
BitMap的width和height用int 的原因多半是因为以前的人都用int支持无符号数的东西少是因为大家都不怎么用,dotnet有2万多个类全支持的话工作量不小, 微软的人懒得做.
修改bitmap的高度为负值,图像上下翻转,测试成功,与语言无关。
uint多出现于内存访问场合.你可以用IntPtr啊.