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

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

?? 新建 文本文檔.txt

?? jif vrml轉(zhuǎn)換
?? TXT
字號:
/*

Converts gifs und jpgs to PixelTexture Format (VRML)
Konvertiert gifs und jpgs ins PixelTexture Format (VRML)


# Image-to-PixelTexture   Version 1.0.1
# Created by Roland Praehofer  rp@memeticdesign.de
# Created on: August,27th      Last Modified on: September,11th 11:42
# URL:http://www.memeticdesign.de/rp/image2vrml/image2vrml_java.html

*/


import java.io.*;
import java.awt.*;
import java.awt.Toolkit;
import java.awt.image.*;
import java.net.*;
import java.net.MalformedURLException;


public class Image2vrml extends Frame implements Runnable{

  Toolkit tk;
  MediaTracker mtrack;
  Image  img;
  
  final int GRAY = 1;
  final int GRAY_WITH_ALPHA = 2;
  final int RGB = 3;
  final int RGB_WITH_ALPHA = 4;

  String theFile;
  String theDir;
  Thread runMe;
  

  public static void main(String[] args)
  {


    Image2vrml i2v = new Image2vrml();
    
  
  }
  
  public Image2vrml()
  
  {
   
    
     setLayout(null);

     String thePath = askForFilePath();
     if (thePath == "") System.exit(0);
     
     getImageFromFile(thePath);
     
     setSize(img.getWidth(this),img.getHeight(this));
     setVisible(true);     
     
     String vrml = img2pix(img);
     
     
     saveVrmlFile(vrml);
     
     System.exit(0);
     

  
  }
  
  public void run()
  
  {
  
       try{
       
            mtrack.waitForID(0);
       
       }catch(Exception e){ }
       
       repaint();
  
  }
  
  
  public String askForFilePath()
  
  {
  
     FileDialog fd = new FileDialog(this,"Choose an gif or jpg image !");
     fd.setMode(FileDialog.LOAD);
     fd.setVisible(true);
     theFile = fd.getFile();
     theDir = fd.getDirectory();
     if(theDir != null && theDir.length() != 0 && theFile != null && theFile.length() != 0){
     
          return (theDir+theFile);
     
     }else{
     
     return "";
     
     }
     
     
  
  }
  
  public void getImageFromFile(String path)
  
  {
  
     
     tk=Toolkit.getDefaultToolkit();
     img = tk.getImage(path);
     
     mtrack = new MediaTracker(this);
     mtrack.addImage(img,0);
     runMe = new Thread(this);
     runMe.start();
     
     while(!mtrack.checkAll()){
      try{
          runMe.sleep(1000);
       }catch(Exception e){}
     }
          
     runMe.stop();
     
     return ;
     
  
  }
  
  
  
  public void paint(Graphics g)
  
  {
  
  
       g.drawImage(img,0,0,this);
  
  
  }
  
  
  public String img2pix(Image img2convert){
  
      
      
      int width = img2convert.getWidth(this);
      int height = img2convert.getHeight(this);
      
      PixelGrabber pg = new PixelGrabber(img, 0, 0, width, height, true);  
      try
      {
       boolean worked = pg.grabPixels();
       if(!worked)
       {
         System.out.println("Pixels couldn't be grabbed !");
       }
      }catch(InterruptedException e){}
      
      int[] pixels = (int[]) pg.getPixels();
  

      
      // Java counts from upper left pixel, VRML from lower left pixel,
      // so we have to do a conversion
      
      int currentRow = height;
      int firstOfRow = 0;
      int index = 0;
      ColorModel cm = pg.getColorModel(); 
      
      int nrOfPixels = width*height;
      
      String red[] = new String [nrOfPixels];
      String  green[] = new String [nrOfPixels];
      String  blue[] = new String [nrOfPixels];
      String  alpha[] = new String [nrOfPixels];

      int r,g,b,a;
            
      boolean graytest = true; 
      boolean alphatest = false;
      int count = 0;
      
      for(int h=height;h>0;h--){
      
           currentRow -= 1; // 'index' of current line
           firstOfRow = currentRow * width; //index of first pixel of current row
           

                
           for(int w=0;w<width;w++){ // start with the last line of pixels
           
                index = firstOfRow + w; // index for pixels[]
                
                r = cm.getRed(pixels[index]);
                g = cm.getGreen(pixels[index]);
                b = cm.getBlue(pixels[index]);
                a = cm.getAlpha(pixels[index]);
                
                // if at least one pixel has different rgb values, it cannot be grayscale
                
                if((r!= g) ||(g != b)||(r!= b)) graytest = false;
                if(a != 255) alphatest = true;
                
                alpha[count]   = Integer.toHexString(a);
                red[count]      = Integer.toHexString(r);
                green[count]  = Integer.toHexString(g);
                blue[count]    = Integer.toHexString(b);              
                
                if(alpha[count].length() == 1) alpha[count] = "0"+alpha[count];
                if(red[count].length() == 1) red[count] = "0"+red[count];
                if(green[count].length() == 1) green[count] = "0"+green[count];
                if(blue[count].length() == 1) blue[count] = "0"+blue[count];   
                
                count++;
                             
           }
      }     
      
       // assemble the values for the different modes
       
      StringBuffer pixData = new StringBuffer();
      int mode = RGB;
      
       // grayscale
      
       if(graytest && !alphatest) {
           mode = GRAY;
           for(int i=0;i<nrOfPixels;i++){
          
               pixData.append("0x"+red[i]+"\n");
          
          }
       }
       
      // grayscale with alpha
      
       if(graytest && alphatest) {
           mode = GRAY_WITH_ALPHA;
           for(int i=0;i<nrOfPixels;i++){
          
               pixData.append("0x"+red[i]+alpha[i]+"\n");
          
          }
       }
       
      // rgb
      
       if(!graytest && !alphatest) {
           mode = RGB;
           for(int i=0;i<nrOfPixels;i++){
          
               pixData.append("0x"+red[i]+green[i]+blue[i]+"\n");
          
          }
       }
       
      // rgb with alpha
      
       if(!graytest && alphatest) {
           mode = RGB_WITH_ALPHA;
           for(int i=0;i<nrOfPixels;i++){
          
               pixData.append("0x"+red[i]+green[i]+blue[i]+alpha[i]+"\n");
          
          }
       }
   
      StringBuffer vrml = new StringBuffer(); 
      
      vrml.append("#VRML V2.0 utf8\n");
      vrml.append("Transform{ scale "+(float) width/100+" "+(float) height/100 +" 1  children[\nShape{geometry IndexedFaceSet{creaseAngle 3.14 coord Coordinate{ point[-.5 -.5 0,.5 -.5 0,.5 .5 0,-.5 .5 0, ] } coordIndex[0 1 2 -1, 2 3 0 -1]   } \nappearance Appearance{material Material{diffuseColor 1 1 1}texture ");
      vrml.append("\nPixelTexture{image "+width+" "+height+" "+mode+"\n"+pixData+"}");
      vrml.append("\n}}]}");
      
      
      return vrml.toString();
  
  }
  
  public void saveVrmlFile(String vstring)
  
  {
  
     try{  
       File outFile = new File(theDir,(theFile+".wrl"));
       FileWriter fw = new FileWriter(outFile);
       PrintWriter pw = new PrintWriter(fw);
       pw.print(vstring);
       pw.flush();
       pw.close();
     }catch(IOException e){
       System.out.println("Save Error !");
     }
  
  }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美成人一区| 亚洲色大成网站www久久九九| 成人av第一页| 日本道免费精品一区二区三区| 国产成人啪免费观看软件| 国产高清视频一区| 久久国产精品99久久人人澡| 丁香桃色午夜亚洲一区二区三区| 99v久久综合狠狠综合久久| 欧美亚洲高清一区| 国产精品欧美精品| 亚洲线精品一区二区三区| 国产91丝袜在线观看| 91精品欧美一区二区三区综合在| 精品国产乱码久久久久久久久| 欧美mv日韩mv国产网站app| 日韩美女视频在线| 一区二区成人在线| 自拍偷拍国产精品| 美洲天堂一区二卡三卡四卡视频| 欧美在线观看18| 亚洲国产人成综合网站| 99精品国产91久久久久久| 中文字幕欧美日韩一区| 国产精品乡下勾搭老头1| 26uuu精品一区二区在线观看| 日韩不卡一区二区三区| 国产在线不卡视频| 色婷婷av一区二区三区之一色屋| 国产日产欧产精品推荐色 | 亚洲欧美日本韩国| 成人一道本在线| 最新中文字幕一区二区三区 | 一区二区在线观看不卡| 精品视频1区2区3区| 欧美日韩不卡一区| 亚洲精品久久久蜜桃| 日本久久一区二区| 日韩国产成人精品| 久久久99精品免费观看不卡| 成人一区二区三区视频| 亚洲亚洲人成综合网络| 日韩一区二区电影网| 成人一区二区三区在线观看| 亚洲精品中文在线影院| 91精品一区二区三区在线观看| 国产在线精品一区在线观看麻豆| 综合久久久久久| 中文字幕在线播放不卡一区| 91猫先生在线| 国产高清精品久久久久| 日韩欧美123| 在线看日本不卡| 风间由美性色一区二区三区| 婷婷夜色潮精品综合在线| 久久天天做天天爱综合色| 欧美在线观看禁18| 色婷婷精品大视频在线蜜桃视频| 精品亚洲国产成人av制服丝袜| 亚洲国产三级在线| 一级精品视频在线观看宜春院| 精品成人a区在线观看| 69av一区二区三区| 91精品国产综合久久久久久久久久| 国产91丝袜在线播放九色| 久久99精品国产91久久来源| 久久成人免费电影| 开心九九激情九九欧美日韩精美视频电影 | 亚洲最新视频在线观看| 亚洲男人都懂的| 热久久久久久久| 麻豆91免费观看| 91捆绑美女网站| 欧美亚洲国产一区二区三区va| 欧洲一区在线电影| 欧美mv日韩mv国产网站| 亚洲欧美综合在线精品| 亚洲制服丝袜av| 国内精品国产三级国产a久久| 国产成人午夜99999| 欧美在线观看18| 中文字幕国产一区| 亚洲香蕉伊在人在线观| 国产91精品入口| 精品蜜桃在线看| 亚洲一卡二卡三卡四卡| 丁香婷婷综合激情五月色| 337p亚洲精品色噜噜噜| 日韩毛片视频在线看| 国产自产高清不卡| 欧美精品电影在线播放| 一卡二卡欧美日韩| 国产一区二区免费在线| 欧美疯狂做受xxxx富婆| 亚洲色图20p| voyeur盗摄精品| 精品av久久707| 狠狠色狠狠色综合日日91app| 91美女在线观看| 综合精品久久久| av一区二区久久| 一区二区在线看| 在线观看91精品国产入口| 国产欧美一区二区三区鸳鸯浴 | 这里只有精品视频在线观看| 亚洲精品国产无天堂网2021| 色综合一区二区三区| 亚洲一区视频在线| 91麻豆精品国产| 国产成人av电影在线| 国产肉丝袜一区二区| 国产高清精品网站| 一区二区免费在线播放| 欧美精三区欧美精三区| 精彩视频一区二区三区| 国产精品国产三级国产三级人妇 | 综合久久综合久久| 色狠狠一区二区| 亚洲h精品动漫在线观看| 日韩一区二区视频| 成人免费av网站| 成av人片一区二区| 亚洲精选一二三| 中文字幕av在线一区二区三区| 成人综合在线视频| 亚洲成人黄色影院| 成人免费在线视频| 日韩欧美一级精品久久| 色综合久久久久综合体| 日韩黄色在线观看| 欧美一区二区三区电影| 91蝌蚪porny成人天涯| 国产成人自拍在线| 香港成人在线视频| 色婷婷久久久久swag精品| 日韩国产欧美一区二区三区| 中文字幕精品一区| 精品国产一区二区三区久久久蜜月| 丁香婷婷综合激情五月色| 青青草97国产精品免费观看无弹窗版| 亚洲视频精选在线| 亚洲裸体xxx| 成人欧美一区二区三区视频网页| 国产精品嫩草影院com| 国产欧美日韩一区二区三区在线观看| 欧美群妇大交群的观看方式| 欧美xxxx在线观看| 日韩一区二区三区电影| 精品欧美乱码久久久久久 | 91精品福利视频| 欧美日韩在线观看一区二区 | 欧美一区二区在线看| 国产亚洲欧美日韩俺去了| 精品精品国产高清一毛片一天堂| 精品福利av导航| 亚洲男人的天堂在线观看| 亚洲精品中文在线观看| 欧美日韩在线精品一区二区三区激情| 91亚洲精品一区二区乱码| 在线不卡a资源高清| 国产日韩欧美一区二区三区综合| 2023国产一二三区日本精品2022| 欧美日韩精品系列| 亚洲六月丁香色婷婷综合久久 | 欧美精品乱人伦久久久久久| 精品电影一区二区三区| 一区二区三区四区高清精品免费观看| 美女一区二区视频| 欧洲日韩一区二区三区| 久久久不卡网国产精品二区| 亚洲风情在线资源站| 日韩国产欧美三级| 首页欧美精品中文字幕| 91麻豆免费在线观看| 精品动漫一区二区三区在线观看| 亚洲三级电影全部在线观看高清| 卡一卡二国产精品| 日韩一区二区三区免费观看| 亚洲自拍另类综合| 色婷婷综合久久久久中文一区二区| 久久精品男人的天堂| 成人三级伦理片| 日韩理论在线观看| 色综合一区二区| 亚洲国产欧美另类丝袜| 欧美丝袜自拍制服另类| 在线视频观看一区| 亚洲精品一卡二卡| 91精品国产综合久久婷婷香蕉 | 精品一区二区三区欧美| 欧美一区二区三区在线视频| 国产在线播放一区| 国产亚洲一区二区三区在线观看| 成人丝袜高跟foot| 亚洲国产综合人成综合网站| 日韩欧美成人一区二区| 不卡视频在线观看| 亚洲国产一区在线观看| 久久九九久精品国产免费直播| av一区二区不卡|