ďťż
 
"ladny" resize obrazka w aplikacji webowej ďťż
 
"ladny" resize obrazka w aplikacji webowej
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

"ladny" resize obrazka w aplikacji webowej



Daniel - 23-10-2005 19:12
"ladny" resize obrazka w aplikacji webowej
  Witam

szukam jakiejs biblioteki, ktora bedzie masowo resizowala uploadowane
zdjecia w aplikacji webowej.
w tej chwili uzywam jimi, ale efekty sa bardzo slabe.
wiem, ze jest tez imagemagick i jego javowa biblioteka, ale nie ma
mozliwosci uruchomienia tego na tomcacie.
jak juz mowilem, chodzi o "ladny" resize, (wstepny resampling z dobrymi
algorytmami).
moze ktos ma w tym doswiadczenie, bede bardzo wdzieczny za porade.

pozdrawiam

Daniel





wango - 23-10-2005 19:12

  Nie wiem czy to najlepsze wyjście ale działa, wykorzystuje tylko to co w
javie jest, mam zrobiony serwlet ktory czeka na komendę i resizuje wszystko.
Wszystkie obrazki po zmianie rozmiaru wrzuca w podkatalog, jakość jest
niezła, zależy od
SCALE_DEFAULT = 1;
SCALE_FAST = 2;
SCALE_SMOOTH = 4;
SCALE_REPLICATE = 8;
SCALE_AREA_AVERAGING = 16 info w javadoc:

public static void convertAll(File dir) {
count=0;
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {

File nowy = new File(dir, children[i]);
if (nowy.isFile() & nowy.getName().contains(".jpg")){
Scale("directory", 100,100,nowy);}
}
}

private static void Scale(String subdir, int width, int height, File f) {

try {
BufferedImage i = JPEGCodec.createJPEGDecoder(new
FileInputStream(f.getPath())).decodeAsBufferedImag e();
int dx = 0, dy = 0, h = 0, w = 0;
if ((float) width / i.getWidth() < (float) height /
i.getHeight()) {
w = width;
h = (int) ((float) (i.getHeight()) / i.getWidth() * width);
dy = (height - h) / 2;
} else {
h = height;
w = (int) ((float) (i.getWidth()) / i.getHeight() * height);
dx = (width - w) / 2;
}
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();

g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
g.drawImage(i.getScaledInstance(w, h,
Image.SCALE_AREA_AVERAGING),
dx, dy, null);
JPEGImageEncoder encoder = JPEGCodec
.createJPEGEncoder(new FileOutputStream(subdir +
File.separator + f.getName()));
encoder.encode(image);
g.dispose();

} catch (ImageFormatException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}
}

WAŻNE: w inicie servletu musi być coś takiego jeśli nie masz okienek:

public void init() throws ServletException {
System.setProperty("java.awt.headless", "true");
super.init();
}

jn

Użytkownik "Daniel" <ddaanniieel2l@o2.pl> napisał w wiadomości
news:di05do$9mu$1@inews.gazeta.pl...
> Witam
>
> szukam jakiejs biblioteki, ktora bedzie masowo resizowala uploadowane
> zdjecia w aplikacji webowej.
> w tej chwili uzywam jimi, ale efekty sa bardzo slabe.
> wiem, ze jest tez imagemagick i jego javowa biblioteka, ale nie ma
> mozliwosci uruchomienia tego na tomcacie.
> jak juz mowilem, chodzi o "ladny" resize, (wstepny resampling z dobrymi
> algorytmami).
> moze ktos ma w tym doswiadczenie, bede bardzo wdzieczny za porade.
>
> pozdrawiam
>
> Daniel
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Gdzie =?iso-8859-2?Q?postawi=E6_aplikacje_MySQL=3F_w_domu=3F_w?==?i so-8859-2?Q?_firmie_hostingowej=3F?= [Oracle] Co do tworzenia aplikacji dla bazy Oracle =?iso-8859-1?q?24img.com_-_NOWY_-_Darmowy_Hosting_Zdjec_i_Obrazk=F3w_/_Albumy_na_Zdjecia?= gdzie =?ISO-8859-2?Q?umieszcza=E6_obrazki=2C_zdj=EAcia=3F?= [Praca - Warszawa] Programista aplikacji internetowych, PHP, AJAX, CSS =?ISO-8859-2?Q?Aplikacja_BD_-_jak_to_zrobi=E6,_pyt._teoretyczne?= =?iso-8859-2?Q?Materia=B3y_dydaktyczne,_e-learning,_obrazki_i_animacje?= =?iso-8859-2?Q?Jak_wyr=F3wna=E6_tonalnie_dwa_obrazki?= witam . Mam pytanie. Jak mogę pisać na wstawionych wczesniej obrazkach Oracle 10g EX - jak udostepnic stworzona aplikacje na zewnatrz?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • absolwenci.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com