• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            Bitmap重要屬性

            轉(zhuǎn)載自:http://blog.csdn.net/repeaterbin/article/details/3979272

            Bitmap重要屬性整理
            2009-02-24 14:13

            Bitmap:

            (1)     public Bitmap (int width,int height,int stride,     PixelFormat format,IntPtr scan0)

            用指定的大小、像素格式和像素?cái)?shù)據(jù)初始化 Bitmap 類(lèi)的新實(shí)例。

            (2)     LockBits():,就是把圖像的內(nèi)存區(qū)域根據(jù)格式鎖定,拿到那塊內(nèi)存的首地址。這樣就可以直接改寫(xiě)這段內(nèi)存了。這個(gè)方法的設(shè)計(jì)是挺好,可惜都是C++作為源泉來(lái)的,.NET Framework里面根本就不推薦用指針,需要用Marshal.Copy把內(nèi)容Copy到一個(gè)byte數(shù)組里面,然后處理完了再Copy回去。

            (3)     UnlockBits():從系統(tǒng)內(nèi)存解鎖此 Bitmap。

             

            BitmapData:位圖圖像的屬性

            (1)   Height獲取或設(shè)置 Bitmap 對(duì)象的像素高度。有時(shí)也稱(chēng)作掃描行數(shù)。

            (2)   PixelFormat: 獲取或設(shè)置返回此 BitmapData 對(duì)象的 Bitmap 對(duì)象中像素信息的格式。

            (3)   Reserved: 保留。不要使用。

            (4)   Scan0: 獲取或設(shè)置位圖中第一個(gè)像素?cái)?shù)據(jù)的地址。它也可以看成是位圖中的第一個(gè)掃描行。

            (5)   Stride: 獲取或設(shè)置 Bitmap 對(duì)象的跨距寬度(也稱(chēng)為掃描寬度)。

            Stride:跨距是單行像素(一個(gè)掃描行)的寬度,舍入為一個(gè) 4 字節(jié)的邊界。跨距總是大于或等于實(shí)際像素寬度。如果跨距為正,則位圖自頂向下。如果跨距為負(fù),則位圖顛倒。Stride是指圖像每一行需要占用的字節(jié)數(shù)。根據(jù)BMP格式的標(biāo)準(zhǔn),Stride一定要是4的倍數(shù)。據(jù)個(gè)例子,一幅1024*768的24bppRgb的圖像,每行有效的像素信息應(yīng)該是1024*3 = 3072。因?yàn)橐呀?jīng)是4的倍數(shù),所以Stride就是3072。那么如果這幅圖像是35*30,那么一行的有效像素信息是105,但是105不是4的倍數(shù),所以填充空字節(jié),Stride應(yīng)該是108。這一行計(jì)算出來(lái)的offset就是3。一要注意必須是4的倍數(shù),二單位是字節(jié)!

            (6)   Width: 獲取或設(shè)置 Bitmap 對(duì)象的像素寬度。這也可以看作是一個(gè)掃描行中的像素?cái)?shù)。

             

            PixelFormat:

            (1)     Format24bppRgb,也就是24位色。在這種格式下3個(gè)字節(jié)表示一種顏色,也就是我們通常所知道的R,G,B,所以每個(gè)字節(jié)表示顏色的一個(gè)分量。

            (2)     Format32bppArgb,除了RGB,在圖像中還存在一個(gè)通道,叫做A。這個(gè)A就是用來(lái)描述當(dāng)前像素是透明,半透明,還是全透明的分量。這個(gè)通道是2個(gè)叫Catmull和Smith在上世紀(jì)70年代初發(fā)明的。通過(guò)這個(gè)分量,我們可以進(jìn)行alpha混合的一些計(jì)算。從而使表面的圖像和背景圖像混合,從而造成透明半透明的效果。在這種格式下A作為一個(gè)byte,取值可以從0到255,那么0表示圖像完全透明,則完全不可見(jiàn),255則表示圖像完全不透明。每個(gè)像素都可以實(shí)現(xiàn)這種透明或者半透明的效果。更詳細(xì)解釋可以參考http://en.wikipedia.org/wiki/Alpha_compositing,或者去買(mǎi)本數(shù)字圖像處理的書(shū)回來(lái)看。

            (3)     Format32bppPArgb,這叫做premultiplied alpha,就是說(shuō)在RGB分量里面,alpha分量的數(shù)據(jù)已經(jīng)被預(yù)先乘進(jìn)去了。比如說(shuō),一個(gè)半透明的紅色點(diǎn),在ARGB下,矢量是(255,0,0,128),而在PARGB下就變成了(128,0,0,128)。這是為了不要每次都做乘法。

            (4)     Bitmap保存成為一個(gè)文件,那么必須用png格式,才能夠保存alpha通道的信息。如果你存為JPG/BMP/GIF,那么alpha通道的信息將會(huì)被丟失。如果存為BMP,那么文件格式將變成Format32bppRgb,其中1個(gè)字節(jié)不再使用;如果保存為JPEG,那么是Format24bppRgb;存為GIF,格式將變成Format8bppIndexed。根據(jù)標(biāo)準(zhǔn),BMP/JPG本來(lái)就不支持透明通道,所以沒(méi)有可能保留透明信息。GIF倒是支持透明,但是GIF中顏色的信息都是索引,所以Alpha的解釋對(duì)GIF完全沒(méi)有效果,

             

            BitmapInfoHeader:

            biHeight:說(shuō)明圖象的高度,以象素為單位。

                如果該值是一個(gè)正數(shù),說(shuō)明Btimap是Bottom up DIB,起始點(diǎn)是左下角,也就是從圖像的最下面一行掃描,位圖數(shù)組中得到的第一行數(shù)據(jù)實(shí)際是圖形的最下面的一行。圖像是倒向的;

                如果該值是一個(gè)負(fù)數(shù),則說(shuō)明圖像是TopDown DIB,起始點(diǎn)是左上角,圖像從最上面一行掃描,圖像正向的。

               大多數(shù)的BMP文件都是倒向的位圖,也就是時(shí),高度值是一個(gè)正數(shù)。(注:當(dāng)高度值是一個(gè)負(fù)數(shù)時(shí)(正向圖像),圖像將不能被壓縮(也就是說(shuō)biCompression成員將不能是BI_RLE8或BI_RLE4)。

            posted on 2013-01-26 16:48 楊粼波 閱讀(592) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            精品久久久久久无码人妻蜜桃| 久久99国内精品自在现线| 久久精品水蜜桃av综合天堂| 欧美亚洲日本久久精品| 国产精品综合久久第一页 | 久久精品中文无码资源站| 久久久久久亚洲精品无码| 精品久久久久久国产三级 | 久久精品国产精品亚洲| 久久综合狠狠综合久久激情 | 青青青伊人色综合久久| 伊人久久大香线蕉精品| 久久亚洲国产成人影院网站| 一级做a爰片久久毛片免费陪| 99久久无色码中文字幕人妻| 久久久亚洲欧洲日产国码二区| 97精品久久天干天天天按摩| 国产L精品国产亚洲区久久| 亚洲国产成人精品女人久久久| 久久中文字幕人妻丝袜| 色综合久久久久久久久五月| A狠狠久久蜜臀婷色中文网| 99热都是精品久久久久久| 一级女性全黄久久生活片免费 | 99久久国产热无码精品免费久久久久| 久久精品国产清自在天天线| 久久精品国产亚洲av麻豆图片| 久久成人国产精品| 欧美午夜精品久久久久久浪潮| 亚洲色大成网站www久久九| 久久久91精品国产一区二区三区| 欧美国产精品久久高清| 国产亚洲精品美女久久久| 久久精品极品盛宴观看| 中文精品久久久久国产网址| 久久国产劲爆AV内射—百度| 久久精品一区二区三区中文字幕| 久久久久久曰本AV免费免费| 99久久精品免费国产大片| 无码国内精品久久人妻| 午夜精品久久久久成人|