快速业务通道

J2ME嶄議GIF侃尖窃 - 園殻秘壇利

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
); // 6-8 - local color table size     if (lctFlag) {       lct = readColorTable(lctSize); // read table       act = lct; // make local table active     } else {       act = gct; // make global table active       if (bgIndex == transIndex) {         bgColor = 0;       }     }     int save = 0;     if (transparency) {       save = act[transIndex];       act[transIndex] = 0; // set transparent color if specified     }     if (act == null) {       status = STATUS_FORMAT_ERROR; // no color table defined     }     if (err()) {       return;     }     decodeImageData(); // decode pixel data     skip();     if (err()) {       return;     }     frameCount++;     // create new image to receive frame data     image = Image.createImage(width, height);     setPixels(); // transfer pixel data to image     frames.addElement(new GifFrame(image, delay)); // add image to frame     // list     if (transparency) {       act[transIndex] = save;     }     resetFrame();   }   /**    * Reads Logical Screen Descriptor    */   protected void readLSD() {     // logical screen size     width = readShort();     height = readShort();     // packed fields     int packed = read();     gctFlag = (packed & 0x80) != 0; // 1 : global color table flag     // 2-4 : color resolution     // 5 : gct sort flag     gctSize = 2 << (packed & 7); // 6-8 : gct size     bgIndex = read(); // background color index     pixelAspect = read(); // pixel aspect ratio   }   /**    * Reads Netscape extenstion to obtain iteration count    */   protected void readNetscapeExt() {     do {       readBlock();       if (block[0] == 1) {         // loop count sub-block         int b1 = ((int) block[1]) & 0xff;         int b2 = ((int) block[2]) & 0xff;         loopCount = (b2 << 8) | b1;       }     } while ((blockSize > 0) && !err());   }   /**    * Reads next 16-bit value, LSB first    */   protected int readShort() {     // read 16-bit value, LSB first     return read() | (read() << 8);   }   /**    * Resets frame state for reading next image.    */   protected void resetFrame() {     lastDispose = dispose;     lrx = ix;     lry = iy;     lrw = iw;     lrh = ih;     lastImage = image;     lastBgColor = bgColor;     dispose = 0;     transparency = false;     delay = 0;     lct = null;   }   /**    * Skips variable length blocks up to and including next zero length block.    */   protected void skip() {     do {       readBlock();     } while ((blockSize > 0) && !err());   } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号