亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bmp.java

?? 使用java編寫的LSB圖像信息隱藏算法演示程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
                k++;
              }
              for (i=7; i>=0 ; i--) {
                 if ((i+x)< bmp_infoheader.biWidth) {
                     data[b+x+i] = (byte)((rawData[k] >>> (7-i)) & 1);
                 }
              }
            }
        } else if (bmp_infoheader.biBitCount == 4) {
            for (y=0; y < bmp_infoheader.biHeight; y++) {
              b=(bmp_infoheader.biHeight-1-y)*bmp_infoheader.biWidth;
              k=y*scanlineSize;
              for (x=0; x < (bmp_infoheader.biWidth-2); x+=2) {
                data[b+x]   = (byte)((rawData[k]>>4) & 0x0F);
                data[b+x+1] = (byte)((rawData[k] & 0x0F));
                k+=1;
              }
              for (i=1; i>=0 ; i--) {
                 if ((i+x)< bmp_infoheader.biWidth) {
                     data[b+x+i] = (byte)((rawData[k] >>> ((1-i)<<2)) & 0x0F);
                 }
              }              
            }
        } else {
            for (y=0; y < bmp_infoheader.biHeight; y++) {
              b=(bmp_infoheader.biHeight-1-y)*bmp_infoheader.biWidth;
              k=y*scanlineSize;
              for (x=0; x < bmp_infoheader.biWidth; x++) {
                data[x+b] = (byte)(rawData[k++] & 0xFF);
              }
            }
        }
        }catch (Exception e) {};

        ColorModel colourModel = new IndexColorModel(bmp_infoheader.biBitCount, bmp_palette.length, bmp_palette.r, bmp_palette.g, bmp_palette.b);
        return Toolkit.getDefaultToolkit().createImage(new MemoryImageSource(bmp_infoheader.biWidth, bmp_infoheader.biHeight, colourModel, data, 0, bmp_infoheader.biWidth));
    }

    /**
    * .BMP InfoHeader
    */

    class BmpInfoHeader {
        int   biSize = 40;                  /* InfoHeader Offset*/
        int   biWidth;                      /* Width */
        int   biHeight;                     /* Height */
        short biPlanes = 1;                 /* BitPlanes on Target Device */
        short biBitCount;                   /* Bits per Pixel */
        int   biCompression;                /* Bitmap Compression */
        int   biSizeImage;                  /* Bitmap Image Size */
        int   biXPelsPerMeter;              /* Horiz Pixels Per Meter */
        int   biYPelsPerMeter;              /* Vert Pixels Per Meter */
        int   biClrUsed;                    /* Number of ColorMap Entries */
        int   biClrImportant;               /* Number of important colours */
        
        int getSize() {
           return biSize;
        }

        void read(PCBinaryInputStream file) {
            try {
                biSize = file.readInt();
                if (biSize == 12) {
                    biWidth = file.readShort();
                    biHeight = file.readShort();
                    biPlanes = file.readShort();
                    biBitCount = file.readShort();
                }
                else
                {
                    biWidth = file.readInt();
                    biHeight = file.readInt();
                    biPlanes = file.readShort();
                    biBitCount = file.readShort();
                    biCompression = file.readInt();
                    biSizeImage = file.readInt();
                    biXPelsPerMeter = file.readInt();
                    biYPelsPerMeter = file.readInt();
                    biClrUsed = file.readInt();
                    biClrImportant = file.readInt();
                }
            } catch (IOException e) { System.err.println(e); }

            if (biSizeImage == 0)
                biSizeImage = (((biWidth*biBitCount+31)>>5)<<2)*biHeight;

            if (biClrUsed == 0 && biBitCount < 16)
                biClrUsed = 1 << biBitCount;
        }

        void write(PCBinaryOutputStream file) {
            try {
                file.writeInt(biSize);
                if (biSize == 12) {
                    file.writeShort((short)biWidth);
                    file.writeShort((short)biHeight);
                    file.writeShort(biPlanes);
                    file.writeShort(biBitCount);
                }
                else {
                    file.writeInt(biWidth);
                    file.writeInt(biHeight);
                    file.writeShort(biPlanes);
                    file.writeShort(biBitCount);
                    file.writeInt(biCompression);
                    file.writeInt(biSizeImage);
                    file.writeInt(biXPelsPerMeter);
                    file.writeInt(biYPelsPerMeter);
                    file.writeInt(biClrUsed);
                    file.writeInt(biClrImportant);
                }
            } catch (IOException e) {
                System.err.println(e);
            }
        }
    }

    /**
    * .BMP FileHeader
    */

    class BmpFileheader {
        byte    bfType[] = {'B','M'};       /* Type */
        int     bfSize;                     /* File Size */
        short   bfReserved1=0;              /* Reserved 1 */
        short   bfReserved2=0;              /* Reserved 2 */
        int     bfOffBits;                  /* Offset to Data */

        int getSize() {
           return 14;
        }

        void read(PCBinaryInputStream file) {
            try {
                bfType[0] = file.readByte();
                bfType[1] = file.readByte();
                if (bfType[0] != 'B' && bfType[1] != 'M')
                    throw new IOException("Invalid BMP 3.0 File.");
                bfSize = file.readInt();
                bfReserved1 = file.readShort();
                bfReserved2 = file.readShort();
                bfOffBits = file.readInt();
            } catch (IOException e) {
                System.err.println(e);
            }
        }

        void write(PCBinaryOutputStream file) {
            try {
            file.writeByte(bfType[0]);
            file.writeByte(bfType[1]);
            file.writeInt(bfSize);
            file.writeShort(bfReserved1);
            file.writeShort(bfReserved2);
            file.writeInt(bfOffBits);
            } catch (IOException e) {
                System.err.println(e);
            }
        }
    }

    /**
    * .BMP Palette
    */

    class BmpPalette {
        int length;
        byte r[];
        byte g[];
        byte b[];

        public BmpPalette(int length)
        {
            this.length = length;
            r = new byte[length];
            g = new byte[length];
            b = new byte[length];
        }

        int getSize() {
           return length*4;
        }

        public BmpPalette(ColorModel colourModel) {
            if (colourModel instanceof IndexColorModel) {
                IndexColorModel indexColourModel = (IndexColorModel)colourModel;
                this.length = indexColourModel.getMapSize();
                r = new byte[length];
                indexColourModel.getReds(r);
                g = new byte[length];
                indexColourModel.getGreens(g);
                b = new byte[length];
                indexColourModel.getBlues(b);
                bmp_infoheader.biBitCount = (short)indexColourModel.getPixelSize();
                bmp_infoheader.biClrUsed = length;
            }
        }

        void read(PCBinaryInputStream file) {
            if (length > 0) {
                try {
                    byte reserved;
                    for (int i=0; i < length; i++) {
                        b[i] = file.readByte();     // blue
                        g[i] = file.readByte();     // green
                        r[i] = file.readByte();     // red
                        reserved = file.readByte(); // reserved
                    }
                } catch (IOException e) {
                    System.err.println(e);
                }
            }
        }

        void write(PCBinaryOutputStream file) {
            if (length > 0) {
                try {
                    byte reserved = 0;
                    for (int i=0; i < length; i++) {
                        file.writeByte(b[i]);
                        file.writeByte(g[i]);
                        file.writeByte(r[i]);
                        file.writeByte(reserved);
                    }
                } catch (IOException e) {
                    System.err.println(e);
                }
            }
        }
    }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线观看视频一区二区三区| 日韩欧美另类在线| 久久99久久99| 亚洲综合精品久久| 国产午夜亚洲精品午夜鲁丝片| 欧美影院一区二区| 成人免费毛片app| 激情五月播播久久久精品| 亚洲国产一区视频| ...中文天堂在线一区| 久久久美女毛片| 日韩女优视频免费观看| 欧美日韩精品系列| 色88888久久久久久影院按摩 | 亚洲丝袜精品丝袜在线| 欧美精品一区男女天堂| 欧美人牲a欧美精品| 色婷婷综合久久久中文一区二区| 国产suv精品一区二区三区| 久久精品噜噜噜成人av农村| 午夜精品成人在线视频| 亚洲一区av在线| 亚洲精品视频在线观看网站| 亚洲欧洲精品成人久久奇米网| 久久久久久久久久久久久女国产乱 | eeuss鲁片一区二区三区 | 色嗨嗨av一区二区三区| a4yy欧美一区二区三区| 国产馆精品极品| 国产一区二区三区四区在线观看| 久久www免费人成看片高清| 久久精品国产77777蜜臀| 日本成人在线不卡视频| 青青草伊人久久| 男女男精品网站| 久久激情五月激情| 九色综合狠狠综合久久| 狠狠色狠狠色综合| 国产成人亚洲精品青草天美| 国产高清在线精品| 成人视屏免费看| 国产99久久久国产精品免费看| 国产成人精品一区二区三区网站观看 | 亚洲综合久久久| 香蕉久久一区二区不卡无毒影院| 午夜精品影院在线观看| 麻豆精品蜜桃视频网站| 国产美女在线观看一区| 成人国产精品视频| 91首页免费视频| 日本高清视频一区二区| 欧美视频一二三区| 欧美久久一二三四区| 欧美精品一区二区不卡| 国产欧美一区二区在线| 亚洲另类在线一区| 天堂va蜜桃一区二区三区漫画版| 日本sm残虐另类| 国产麻豆91精品| 一本色道久久综合精品竹菊| 欧美男人的天堂一二区| 精品国产伦一区二区三区观看方式| xnxx国产精品| 亚洲在线视频网站| 精品一区二区三区久久| 丰满岳乱妇一区二区三区| 在线视频欧美精品| 精品捆绑美女sm三区| 国产精品美女久久久久高潮| 亚洲福利一二三区| 国产一二精品视频| 91久久精品一区二区三| 日韩网站在线看片你懂的| 欧美韩国日本综合| 亚洲无人区一区| 国产一区在线观看麻豆| 欧美性xxxxxx少妇| 国产性做久久久久久| 亚洲成人免费视| 成人av动漫网站| 91精品国产91久久久久久一区二区| 欧美经典一区二区| 天堂久久一区二区三区| av在线不卡免费看| 欧美tickling网站挠脚心| 亚洲欧美视频在线观看| 国产在线一区观看| 欧美乱妇20p| 最新国产成人在线观看| 久久99久久精品欧美| 欧美视频一区二区在线观看| 国产欧美日韩不卡| 美国三级日本三级久久99| 色老汉一区二区三区| 国产亚洲va综合人人澡精品| 亚洲电影你懂得| 成人黄色小视频在线观看| 欧美电影免费观看高清完整版在| 亚洲视频在线一区观看| 国产毛片精品国产一区二区三区| 欧美日韩精品系列| 一区二区成人在线观看| 不卡的av中国片| 久久久美女毛片| 久久精品国产亚洲aⅴ| 欧美丝袜第三区| 亚洲精品成人在线| 99久免费精品视频在线观看| 久久综合网色—综合色88| 免费成人性网站| 欧美美女bb生活片| 亚洲6080在线| 欧美性视频一区二区三区| 国产精品嫩草影院av蜜臀| 国产麻豆视频一区| 337p日本欧洲亚洲大胆精品 | 一区二区三区不卡在线观看| 成人av资源站| 久久久美女毛片| 国产精品资源在线看| 欧美变态凌虐bdsm| 蜜臀av性久久久久av蜜臀妖精| 欧美日韩夫妻久久| 亚洲国产精品久久久久婷婷884 | 亚洲一区二区av在线| 色88888久久久久久影院野外| 自拍偷拍亚洲综合| av爱爱亚洲一区| 国产精品天天摸av网| 不卡一区二区中文字幕| 国产精品每日更新在线播放网址 | 人人超碰91尤物精品国产| 欧美日韩国产首页| 天堂av在线一区| 在线成人午夜影院| 蜜桃视频一区二区三区在线观看| 91精品国产麻豆国产自产在线| 日韩一区精品视频| 91精品国产欧美一区二区成人| 免费成人美女在线观看| 精品三级在线看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产麻豆一精品一av一免费| 久久久久久9999| 成人国产精品免费网站| 最新中文字幕一区二区三区| 色综合咪咪久久| 性久久久久久久久久久久| 日韩欧美精品三级| 国产精品一区在线观看你懂的| 欧美精品一区二区久久婷婷| 国产91精品欧美| 亚洲精品v日韩精品| 欧美日韩高清一区二区| 精品综合久久久久久8888| 国产丝袜在线精品| 91黄视频在线| 日本特黄久久久高潮| 国产清纯在线一区二区www| 一本一道久久a久久精品| 性做久久久久久久免费看| 久久欧美一区二区| 一本大道久久精品懂色aⅴ| 亚州成人在线电影| 26uuu精品一区二区三区四区在线| 福利视频网站一区二区三区| 亚洲午夜久久久久久久久电影网| 日韩一二三区不卡| 成人免费视频caoporn| 天堂成人国产精品一区| 国产午夜精品一区二区三区嫩草| 91毛片在线观看| 蜜桃视频在线观看一区二区| 国产精品国产成人国产三级| 欧美老年两性高潮| 不卡的av网站| 欧美aⅴ一区二区三区视频| 国产精品久久久久久久久果冻传媒| 欧美唯美清纯偷拍| 成人免费福利片| 亚洲成人动漫av| 国产精品国产自产拍高清av | 亚洲欧美一区二区不卡| 日韩欧美国产综合在线一区二区三区 | 日韩国产高清影视| 国产欧美一区二区精品婷婷| 欧美伊人精品成人久久综合97| 国产一区久久久| 午夜精品久久久久久久久久| 中文字幕一区二区三区在线观看 | 亚洲欧美日韩电影| 精品欧美一区二区久久 | 国产精品人妖ts系列视频| 欧美日韩精品一区二区三区 | 亚洲欧洲国产日本综合| 日韩免费电影一区| 欧美日韩国产精品成人| 色婷婷综合久久久久中文| 国产精品一区一区三区| 亚洲超碰精品一区二区|