abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:22 | Nová verze

    Byla vydána verze 11.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 11.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Nová verze

    Byla vydána nová verze 3.4.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 6 zranitelností.

    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | IT novinky

    V srpnu loňského roku byla vyhlášena RP2350 Hacking Challenge aneb oficiální výzva Raspberry Pi na prolomení bezpečnosti mikrokontroléru RP2350. Povedlo se. Včera byli představeni čtyři vítězové a jejich techniky.

    Ladislav Hagara | Komentářů: 10
    dnes 00:00 | Komunita

    Na čem aktuálně pracují vývojáři open source operačního systému Haiku (Wikipedie)? Byl publikován přehled vývoje za prosinec 2024. Vypíchnuto je začlenění webového prohlížeče Iceweasel, tj. alternativního sestavení Firefoxu.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Humor

    Tetris a DOOM běžící v pdf. Proč a jak v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 2
    včera 03:11 | Zajímavý software

    Společnost Oracle představila sadu nástrojů a skriptů pro sběr a analýzu dat o stavu linuxových systémů a jejich ladění pod společným názvem Oracle Linux Enhanced Diagnostics (OLED). K dispozici pod licencí GPLv2.

    Ladislav Hagara | Komentářů: 5
    včera 02:33 | Nová verze

    OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.3.0. Přináší RAIDZ Expansion, Fast Dedup, Direct IO, JSON a Long names.

    Ladislav Hagara | Komentářů: 21
    12.1. 23:33 | Zajímavý článek

    Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu lednový souhrn novinek.

    Ladislav Hagara | Komentářů: 0
    12.1. 22:55 | Pozvánky

    Baví vás bastlení, fyzika, IT a nebo prostě cokoliv technického? Proseděli jste celé Vánoce v záři obrazovky počítače a nebo jste o tom alespoň snili? Chcete se pochlubit technickými vánočními dárky? Pak doražte na Virtuální Bastlírnu - online pokec (nejen) techniků a bastlířů!

    … více »
    bkralik | Komentářů: 0
    12.1. 22:33 | Nová verze

    Desktopové prostředí Enlightenment bylo vydáno ve verzi 0.27.0, provázejí ho knihovny EFL 1.28. Jde o převážně opravné vydání opět po roce.

    Fluttershy, yay! | Komentářů: 19
    Rozcestník

    Dotaz: Zmenseni obrazku - Java

    8.8.2009 08:58 Kahler
    Zmenseni obrazku - Java
    Přečteno: 641×

    Dobry den, ve sve aplikaci zobrazuji na panel obrazky (jpg, png), pokud je obrazek tak velky, ze by se nevlezl na monitor snazim se ho zmensit timto kodem:

    source = source.getScaledInstance(300, 200, Image.SCALE_SMOOTH);
    

    Problem vsak je, ze pak se obrazek nezobrazi vubec. Hned za radkem vyse nasleduje

    int width = source.getWidth(null);
    int height = source.getHeight(null);
    

    Coz vypise

    -1
    -1
    

    Nikde jsem nenasel zadny funkci postup, vsude uvadeji tento pomoci getScaledInstance, nevite prosim kde muze byt chyba?

    Odpovědi

    kouby avatar 8.8.2009 10:51 kouby | skóre: 27 | blog: init | Praha
    Rozbalit Rozbalit vše Re: Zmenseni obrazku - Java

    Z vašeho popisu mi není moc jasné jak přesně se snažíte obrázek vyrenderovat. Zde je odkaz na návod, jak správně užít getScaledInstance(). today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html, třeba vám to v něčem pomůže.

    That's thirty minutes away. I'll be there in ten.
    8.8.2009 11:05 Kahler
    Rozbalit Rozbalit vše Re: Zmenseni obrazku - Java

    Takze novy poznatek. Kod:

    ImageIcon imageIcon = new ImageIcon(getClass().getResource("test.jpg"));
    Image source = imageIcon.getImage();
    source = source.getScaledInstance(50, 50, Image.SCALE_SMOOTH);
    
    int width = source.getWidth(null);
    int height = source.getHeight(null);
    
    System.out.println(width);
    System.out.println(height);
    
    jButton1.setIcon(new ImageIcon(source));
    

    Tento kod, relativne funguje, obrazek se nacte, zmensi se na velikost 50x50px a zobrazi se na buttonu. Problem vsak delaji funkce getWidth a getHeight, protoze pro zmenseny obrazek vrati misto rozmeru 50 a 50 to co jsem psal vyse -1 a -1. V mem programu totiz nedavam obrazek na button tak jednoduse, ale vytvarim urcity vyrez prave na zaklade promennych width a height a jelikoz se nastavi obe na -1, je v tom pak chaos. Netusite proc tyto metody nevrati korektni rozmery?

    kouby avatar 8.8.2009 11:36 kouby | skóre: 27 | blog: init | Praha
    Rozbalit Rozbalit vše Re: Zmenseni obrazku - Java

    Obecně metoda getScaledInstance je dosti pomalá. Je možné, že v době volání těchto metod nejsou rozměry zmenšeného obrázku ještě známy.

    Můžete do kódu přidat cyklus, který bude iterovat do doby dokud nebudou rozměry známy. Například takto:

    int width = -1;
    int height = -1;
    while (width == -1 || height == -1) {
      width = image.getWidth(null);
      height = image.getHeight(null);
    }

    Samozřejmě, že toto řešení není příliš elegantní. Ale mohlo by fungovat. Ještě by možná bylo vhodné cyklus

    korektně ukončit, pokud se šířku a výšku nepodaří zjistit.

     

    That's thirty minutes away. I'll be there in ten.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.