Резултати от 1 до 4 от общо 4

Java въпрос

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn

  1. Тук е от
    Jan 2003
    Мнения
    54
    #1

    Java въпрос

    Искам да направя JPG файл от Graphics2d обекти? Функцията която използвам за засъздаване нa JPG файла е:

    public void saveComponentAsJPEG(Component myComponent, String filename) {

    Dimension size = myComponent.getSize();

    BufferedImage myImage =

    new BufferedImage(289, 161,

    BufferedImage.TYPE_INT_RGB);

    Graphics2D g2 = myImage.createGraphics();

    myComponent.paint(g2);

    try {

    OutputStream out = new FileOutputStream(filename);

    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

    encoder.encode(myImage);

    out.close();

    } catch (Exception e) {

    System.out.println(e);

    }

    }



    ,като с myComponent.paint(g2); се вика :



    public void paint(Graphics g){

    Graphics2D g2=(Graphics2D)g;



    g2.setPaint(textura[0]);

    g2.fillRect(0,0,80,50);

    g2.setPaint(textura[1]);

    g2.fillRect(80,0,80,50);

    g2.setPaint(textura[2]);

    g2.fillRect(160,0,80,50);

    g2.drawImage(image[0],0,50,80,50,this);

    g2.drawImage(image[1],80,50,80,50,this);

    g2.drawImage(image[2],160,50,80,50,this);

    g2.drawImage(image[3],240,50,80,50,this);

    g2.drawImage(image[4],0,150,80,50,this);

    g2.drawImage(image[5],80,150,80,100,this);

    g2.drawImage(image[6],160,150,80,50,this);

    g2.drawImage(image[7],240,150,80,50,this);



    }



    , textura[] e масив от TexturePaint обекти, а image е масив от Image обекти.

    Значи програмата работи без проблем до първият g2.drawImage. След изпълнението на g2.drawImage командата възниква някаква грешка,програмата прекъсва изпълнението си и не се създава JPG файла.

    Някой има ли представа защо става така. И как мога да реша този проблем?


  2.  
     
  3. Member
    Тук е от
    Dec 2004
    Мнения
    542
    #2

    Java въпрос

    според документацията Graphics2d.drawImage() метода не прави нищо ако <tt>img</tt> аргумента е null. провери масива дали е изряден. и какво значи точно програмата прекъсва изпълнението - хвърля ли някакъв exception?


  4. Тук е от
    Jan 2003
    Мнения
    54
    #3

    Java въпрос

    Ето това представлява Image масива ми:

    Image[] image=new Image[8]; //масив от изображения

    URL base;

    MediaTracker mt;



    mt = new MediaTracker(this);





    try {



    base = getCodeBase();

    }

    catch (Exception e) {}

    image[0] = getImage(base,"images/i1.gif");

    image[1] = getImage(base,"images/i2.jpg");

    image[2] = getImage(base,"images/i3.gif");

    image[3] = getImage(base,"images/k1.gif");

    image[4] = getImage(base,"images/k2.gif");

    image[5] = getImage(base,"images/k3.gif");

    image[6] = getImage(base,"images/k4.gif");

    image[7] = getImage(base,"images/k5.gif");





    mt.addImage(image[0],1);

    mt.addImage(image[1],2);

    mt.addImage(image[2],3);

    mt.addImage(image[3],4);

    mt.addImage(image[4],5);

    mt.addImage(image[5],6);

    mt.addImage(image[6],7);

    mt.addImage(image[7],8);





    try {

    mt.waitForAll();

    }

    catch (InterruptedException e) {}



    exception,който се получава при дебъгването е: java.lang.NullPointerException

    Най-интересното е ,че img наистина е null, но картинките все пак ми показва в браузера,с метода paint на аплета, a когато се опитам да преобразувам нарисуваното в JPG файл ми дава тази грешка(java.lang.NullPointerException)













  5. Тук е от
    Jan 2003
    Мнения
    54
    #4

    Java въпрос

    Намерих си проблема. Работата е там,че аз имам 2 аплета. В единия рисувам т.е. използвам paint функцията му, а в init() функцията на същия зареждам картинките.

    В другия аплет имам бутон при натискането на който се извиква функцията saveComponentAsJPEG(Component myComponent, String filename), която създаване JPG файла. Проблема е в това,че тази функция вика само paint на другия аплет без да извика init на същия за да зареди картинките, затова и img ми е null.



    Сложих всичко в 1 аплет и тръгна без проблем.


Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn

Подобни теми

  1. Java
    От Bibi във форум Програмиране
    Отговори: 14
    Последно: 09-12-05, 19:26
  2. java to C#
    От hristinannn във форум Общ - софтуер
    Отговори: 1
    Последно: 13-05-05, 16:18
  3. Java help
    От Lord_Spawn във форум Уебдизайн и 3D
    Отговори: 1
    Последно: 06-09-03, 11:20
  4. Win XP и Java
    От nniki във форум Windows
    Отговори: 2
    Последно: 09-05-03, 12:11
  5. JAVA za XP ???
    От AMOK във форум Windows
    Отговори: 10
    Последно: 10-08-02, 21:09

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе