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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bmpfile.java

?? 很多人都在為計算流體程序的初始數據輸入感到頭疼
?? JAVA
字號:
package testconditon.imageload;import java.awt.*;import java.io.*;import java.awt.image.*;public class BMPFile extends Component {    //--- Private constants    private final static int BITMAPFILEHEADER_SIZE = 14;    private final static int BITMAPINFOHEADER_SIZE = 40;    //--- Private variable declaration    //--- Bitmap file header    private byte bitmapFileHeader [] = new byte [14];    private byte bfType [] = {(byte)'B', (byte)'M'};    private int bfSize = 0;    private int bfReserved1 = 0;    private int bfReserved2 = 0;    private int bfOffBits = BITMAPFILEHEADER_SIZE + BITMAPINFOHEADER_SIZE;    //--- Bitmap info header    private byte bitmapInfoHeader [] = new byte [40];    private int biSize = BITMAPINFOHEADER_SIZE;    private int biWidth = 0;    private int biHeight = 0;    private int biPlanes = 1;    private int biBitCount = 24;    private int biCompression = 0;    private int biSizeImage = 0x030000;    private int biXPelsPerMeter = 0x0;    private int biYPelsPerMeter = 0x0;    private int biClrUsed = 0;    private int biClrImportant = 0;    //--- Bitmap raw data    private int bitmap [];    //--- File section    private FileOutputStream fo;    //--- Default constructor    public BMPFile() {    }    public void saveBitmap (String parFilename, int[] imagePix, int                            parWidth, int parHeight) {        try {            fo = new FileOutputStream (parFilename);            save (imagePix, parWidth, parHeight);            fo.close ();        }        catch (Exception saveEx) {            saveEx.printStackTrace ();        }    }    /*     * The saveMethod is the main method of the process. This method     * will call the convertImage method to convert the memory image to     * a byte array; method writeBitmapFileHeader creates and writes     * the bitmap file header; writeBitmapInfoHeader creates the     * information header; and writeBitmap writes the image.     *     */    private void save (int[] imagePix, int parWidth, int parHeight) {        try {            convertImage (imagePix, parWidth, parHeight);            writeBitmapFileHeader ();            writeBitmapInfoHeader ();            writeBitmap ();        }        catch (Exception saveEx) {            saveEx.printStackTrace ();        }    }    /*     * convertImage converts the memory image to the bitmap format (BRG).     * It also computes some information for the bitmap info header.     *     */    private boolean convertImage (int[] imagePix, int parWidth, int parHeight) {        int pad;        bitmap = imagePix;	//          //PixelGrabber pg = new PixelGrabber (parImage, 0, 0, parWidth, parHeight,	//          //                            bitmap, 0, parWidth);	//          try {	//              pg.grabPixels ();	//          }	//          catch (InterruptedException e) {	//              e.printStackTrace ();	//              return (false);	//          }        pad = (4 - ((parWidth * 3) % 4)) * parHeight;        if (4 - ((parWidth * 3) % 4) == 4) pad = 0 ;        biSizeImage = ((parWidth * parHeight) * 3) + pad;        bfSize = biSizeImage + BITMAPFILEHEADER_SIZE +            BITMAPINFOHEADER_SIZE;        biWidth = parWidth;        biHeight = parHeight;        return (true);    }    /*     * writeBitmap converts the image returned from the pixel grabber to     * the format required. Remember: scan lines are inverted in     * a bitmap file!     *     * Each scan line must be padded to an even 4-byte boundary.     */    private void writeBitmap () {        int size;        int value;        int j;        int i;        int rowCount;        int rowIndex;        int lastRowIndex;        int pad;        int padCount;        byte rgb [] = new byte [3];        size = (biWidth * biHeight) - 1;        pad = 4 - ((biWidth * 3) % 4);        //The following bug correction will cause the bitmap to be unreadable by        //GIMP.  It must be there for the bitmap to be readable by most other        //graphics packages.        if (pad == 4){ // <==== Bug correction            pad = 0;        }// <==== Bug correction        rowCount = 1;        padCount = 0;        rowIndex = size - biWidth;        lastRowIndex = rowIndex;        try {            // The following three lines of code are a correction supplied            // by Alin Arsu, Feb 2003.  The original code set the top-right            // pixel in the image to black, and also shifted the bottom row            // of the image by one pixel.            // The original code was the following two lines:            // for (j = 0; j < size; j++) {            //     value = bitmap [rowIndex];            // This is replaced by the three lines that appear next.            for (j = 0; j < size+1; j++) {                if (j<biWidth) { value = bitmap [rowIndex+1]; }                else { value = bitmap [rowIndex]; }                rgb [0] = (byte) (value & 0xFF);                rgb [1] = (byte) ((value >> 8) & 0xFF);                rgb [2] = (byte) ((value >> 16) & 0xFF);                fo.write (rgb);                if (rowCount == biWidth) {                    padCount += pad;                    for (i = 1; i <= pad; i++) {                        fo.write (0x00);                    }                    rowCount = 1;                    rowIndex = lastRowIndex - biWidth;                    lastRowIndex = rowIndex;                }                else                    rowCount++;                rowIndex++;            }	    //--- Update the size of the file            bfSize += padCount - pad;            biSizeImage += padCount - pad;        }        catch (Exception wb) {            wb.printStackTrace ();        }    }    /*     * writeBitmapFileHeader writes the bitmap file header to the file.     *     */    private void writeBitmapFileHeader () {        try {            fo.write (bfType);            fo.write (intToDWord (bfSize));            fo.write (intToWord (bfReserved1));            fo.write (intToWord (bfReserved2));            fo.write (intToDWord (bfOffBits));        }        catch (Exception wbfh) {            wbfh.printStackTrace ();        }    }    /*     *     * writeBitmapInfoHeader writes the bitmap information header     * to the file.     *     */    private void writeBitmapInfoHeader () {        try {            fo.write (intToDWord (biSize));            fo.write (intToDWord (biWidth));            fo.write (intToDWord (biHeight));            fo.write (intToWord (biPlanes));            fo.write (intToWord (biBitCount));            fo.write (intToDWord (biCompression));            fo.write (intToDWord (biSizeImage));            fo.write (intToDWord (biXPelsPerMeter));            fo.write (intToDWord (biYPelsPerMeter));            fo.write (intToDWord (biClrUsed));            fo.write (intToDWord (biClrImportant));        }        catch (Exception wbih) {            wbih.printStackTrace ();        }    }    /*     *     * intToWord converts an int to a word, where the return     * value is stored in a 2-byte array.     *     */    private byte [] intToWord (int parValue) {        byte retValue [] = new byte [2];        retValue [0] = (byte) (parValue & 0x00FF);        retValue [1] = (byte) ((parValue >> 8) & 0x00FF);        return (retValue);    }    /*     *     * intToDWord converts an int to a double word, where the return     * value is stored in a 4-byte array.     *     */    private byte [] intToDWord (int parValue) {        byte retValue [] = new byte [4];        retValue [0] = (byte) (parValue & 0x00FF);        retValue [1] = (byte) ((parValue >> 8) & 0x000000FF);        retValue [2] = (byte) ((parValue >> 16) & 0x000000FF);        retValue [3] = (byte) ((parValue >> 24) & 0x000000FF);        return (retValue);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品对白交换视频 | 午夜精品一区二区三区免费视频| 久久久久亚洲蜜桃| 精品免费日韩av| 精品精品国产高清a毛片牛牛| 日韩一区二区在线观看视频| 91麻豆精品国产91久久久久| 日韩一区二区三区高清免费看看| 日韩免费福利电影在线观看| 欧美一区二区黄色| 久久久精品tv| 亚洲欧洲无码一区二区三区| 亚洲一区在线视频观看| 亚洲第一av色| 国产一区二区中文字幕| 99精品黄色片免费大全| 欧美性xxxxxx少妇| 精品国产免费一区二区三区香蕉| 国产欧美日本一区二区三区| 一区二区三区免费网站| 欧美aⅴ一区二区三区视频| 国产一区二区电影| 91麻豆免费观看| 91精品啪在线观看国产60岁| 国产欧美va欧美不卡在线| 亚洲一区二区在线播放相泽 | 欧美大片一区二区三区| 国产亲近乱来精品视频| 一区二区三区久久| 经典三级视频一区| 91丨九色丨黑人外教| 欧美久久久久久蜜桃| 国产精品午夜在线观看| 午夜视黄欧洲亚洲| 丁香一区二区三区| 欧美高清激情brazzers| 国产精品网站导航| 日韩精品一二三四| 99re8在线精品视频免费播放| 欧美tickle裸体挠脚心vk| 亚洲精品中文字幕乱码三区| 精品一区二区三区日韩| 欧美怡红院视频| 国产精品久久影院| 久久国产精品第一页| 欧美性做爰猛烈叫床潮| 国产精品乱人伦一区二区| 日韩高清中文字幕一区| 成人小视频免费观看| 精品奇米国产一区二区三区| 一区二区三区视频在线看| 成人爽a毛片一区二区免费| 91精品国产91久久综合桃花| 亚洲免费在线看| 国产成人激情av| 精品三级av在线| 日日噜噜夜夜狠狠视频欧美人| 91在线国内视频| 中文字幕av一区二区三区免费看 | 国产成人啪免费观看软件| 精品欧美一区二区三区精品久久| 亚洲va中文字幕| 日本丶国产丶欧美色综合| 国产精品乱码一区二区三区软件 | 国产电影精品久久禁18| 欧美一区日本一区韩国一区| 亚洲亚洲精品在线观看| 色老汉一区二区三区| 国产精品日韩精品欧美在线| 国产乱码精品1区2区3区| 久久一二三国产| 国产在线精品视频| www国产成人| 国产夫妻精品视频| 国产欧美视频一区二区三区| 国产成人精品1024| 国产精品乱码一区二区三区软件 | 激情五月播播久久久精品| 777午夜精品视频在线播放| 丝袜诱惑制服诱惑色一区在线观看 | 精品视频一区二区不卡| 午夜日韩在线电影| 91精品免费在线| 久久99精品久久久久久国产越南| 欧美成人a∨高清免费观看| 国内久久婷婷综合| 欧美国产精品专区| 一本到三区不卡视频| 亚洲成人av电影| 日韩精品一区二区三区中文不卡 | 国产日产精品一区| 99久久99精品久久久久久 | 五月激情丁香一区二区三区| 日韩精品一区二区三区蜜臀 | 亚洲国产美女搞黄色| 欧美军同video69gay| 国产一区二区影院| 一区二区三区四区蜜桃| 777欧美精品| 成人一区二区三区中文字幕| 亚洲一区二区五区| 久久免费国产精品| 色综合色狠狠综合色| 视频一区二区欧美| 久久精品免费在线观看| 91久久免费观看| 激情欧美日韩一区二区| 亚洲视频图片小说| 26uuu国产电影一区二区| 97精品国产露脸对白| 天堂在线亚洲视频| 国产精品久久看| 精品理论电影在线观看| 色8久久人人97超碰香蕉987| 国产一区二区三区黄视频 | 色综合网色综合| 久久99九九99精品| 欧美激情综合五月色丁香小说| 91日韩在线专区| 久久精品国产在热久久| 一区二区三区四区乱视频| 久久久久久久久岛国免费| 在线观看中文字幕不卡| 成人夜色视频网站在线观看| 麻豆国产精品一区二区三区| 亚洲午夜成aⅴ人片| 亚洲欧洲另类国产综合| 国产欧美一区二区三区网站 | 久久99久久99| 午夜精品视频一区| 亚洲另类在线视频| 亚洲欧洲成人精品av97| 久久婷婷国产综合国色天香| 日韩一区二区免费视频| 在线观看日韩毛片| 91在线观看免费视频| 国产suv精品一区二区三区| 看国产成人h片视频| 日韩福利视频导航| 午夜欧美大尺度福利影院在线看| 亚洲乱码一区二区三区在线观看| 国产精品美女久久福利网站| 国产欧美精品国产国产专区| 久久―日本道色综合久久| 欧美一区二区黄| 日韩欧美在线综合网| 日韩欧美国产1| 337p日本欧洲亚洲大胆色噜噜| 日韩欧美一区在线观看| 欧美一区二区在线免费播放| 91精品国产综合久久久久| 欧美男生操女生| 日韩欧美国产一区在线观看| 91麻豆精品国产91久久久资源速度 | 欧美日韩视频专区在线播放| 在线观看成人免费视频| 欧洲亚洲精品在线| 欧美高清激情brazzers| 日韩欧美成人激情| 国产日韩欧美高清| 中文字幕的久久| 亚洲另类在线制服丝袜| 午夜一区二区三区在线观看| 奇米影视一区二区三区| 国产乱码一区二区三区| 99精品国产热久久91蜜凸| 日本丰满少妇一区二区三区| 制服丝袜亚洲色图| 欧美电影免费观看高清完整版| 国产亚洲短视频| 亚洲精品水蜜桃| 青青草原综合久久大伊人精品| 精品一二三四区| 成人性视频免费网站| 欧美性受极品xxxx喷水| 欧美sm极限捆绑bd| 亚洲欧美日韩中文播放| 日韩成人免费电影| 成人妖精视频yjsp地址| 欧美日韩一区不卡| 精品国产乱子伦一区| 亚洲美腿欧美偷拍| 韩国欧美国产1区| 在线一区二区三区四区| 精品精品国产高清a毛片牛牛 | 91极品美女在线| 久久夜色精品一区| 一区二区三区欧美日| 国产一区久久久| 精品视频全国免费看| 国产女同互慰高潮91漫画| 亚洲一区二区不卡免费| 国产成人在线电影| 欧美电影在哪看比较好| 亚洲私人黄色宅男| 国产一区二区不卡| 91精品婷婷国产综合久久性色| 亚洲欧洲在线观看av| 国产精品一区二区在线播放| 91麻豆精品国产91久久久更新时间|