Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-02-2010, 20:34   #1
zakmckraken
Member
 
Iscritto dal: Apr 2004
Messaggi: 56
[Java] Accesso a files da piu'thread

Ciao a tutti!
Mi domandavo se qualcuno aveva un idea su questo mio problema:
ho una servlet che dati un percorso e delle coordinate legge una immagine ne fa il crop e salva questa immagine con un nuovo nome tipo "percorso_x_y_w_h"
Ora, sotto .NET con i files ashx (tipo servlet per intenderci) non ci son problemi di sorta. Mentre se faccio lo stesso in Java mi trovo in una situazione inquietante:
1) Leggo a.jpg, ne taglio un pezzo che chiamo b.jpg
2) Quasi contemporaneamente leggo a.jpg e ne taglio un pezzo DIVERSO che ciamo c.jpg...
3) Il risultato e'che b.jpg e c.jpg sono uguali!!!!!!!!!!!

Notare che a.jpg e'sul classpath e viene letta tramite getClassLoader().getResourceAsStream mentre b.jpg e c.jpg sono sul filesystem reale..

Per scrivere i vari files da file system uso ImageIO.write ..non e'che il metodo non e'thread safe???

Se qualcuno ha un idea si faccia avanti che sto impazzendo!! Grazie a tutti!!
zakmckraken è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 21:46   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Non vedo problemi di thread. Probabilmente c'è un errore logico nel programma.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 21:59   #3
zakmckraken
Member
 
Iscritto dal: Apr 2004
Messaggi: 56
Eh...

Beh, ti direi di si se non funzionasse con .Net, il codice e'praticamente lo stesso (a parte le librerie di sistema e la sintassi per intenderci), con caricamento delle risorse dalle dll e salvataggio in area temporanea, o meglio cache.. mi sarei piu'aspettato che funzionasse Java! C'e'da dire anche che sono sotto Linux con una Jvm openSource, ma mi sembra strano possa centrare.
Tra l'altro se preparo le immagini corrette nella mia cache poi vengono viste correttamente.
Poi non faccio certo cose turche, ho questa servlet che serve per caricare le immagini che legge con getResourceAsStream dal classloader una jpg (per es) dal jar, se trova una jpg nella cache con lo stesso nome legge quella e la invia al client altrimenti crea in cache la nuova immagine, la legge e la invia al client...
Sto andando di debugger ma non vedo nulla di strano!!
Adesso arrivero'a segnarmi gli id delle istanze di classe per vedere se per caso ci sono duplicati che appaiono come per magia...
zakmckraken è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 22:18   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Java su Linux funziona allo stesso modo di Java su Windows.

Il problema è che se hai un'immagine, ne leggi due parti diverse e quelle due parti ti risultano uguali o le letture non sono diverse o vai a sovrascrivere uno dei due risultati con l'altro.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 22:33   #5
zakmckraken
Member
 
Iscritto dal: Apr 2004
Messaggi: 56
Speravo in qualcosa del genere, in preda al delirio cosmico ho provato a caricare i files tramite la servlet uno per uno, la notizia sconvolgente e che sembra che non vengano considerate le coordinate con cui taglio l'immagine... se non altro non mi sono rimbecillito del tutto, ma a sto punto mi domando se il metodo che uso ha un senso...
Codice PHP:
//NB res e'un'array di bytes contenente l'immagine sorgente
    
BufferedImage imgRes null;
    
img ImageIO.read(new ByteArrayInputStream(res));
    
imgRes img.getSubimage(xywh);
    
ImageIO.write(imgRestype, new File(totalPath)); 
zakmckraken è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 22:53   #6
zakmckraken
Member
 
Iscritto dal: Apr 2004
Messaggi: 56
Qualcuno dice sia un bug...
https://bugs.launchpad.net/ubuntu/+s...a6/+bug/241346 e in effetti il mio caso

Quote:
When the source is a GIF file, getSubimage respects the width and height parameters, but uses the top left coordinate of the source image to create the destination, regardless of parameter values.
zakmckraken è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 23:17   #7
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Nella bugparade lo danno per risolto con la versione _7 (quella attuale è la _18)

Prova a creare un buffer temporaneo:

imgRes = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
imgRes.getGraphics().drawImage(img, -x, -y, null);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2010, 07:31   #8
zakmckraken
Member
 
Iscritto dal: Apr 2004
Messaggi: 56
Ed in effetti colla copia del buffer funziona magicamente tutto e si "dimentica" di essere una gif... Per la cronaca, se accade ad altri, il "java -version" mi dava questo:
Codice PHP:
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.6.2) (suse-5.10.1-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16mixed mode
E grazie per aiuto & collaborazione! Ieri sera poi sono crollato col pc acceso

Ultima modifica di zakmckraken : 17-02-2010 alle 07:32. Motivo: ringraziamenti!
zakmckraken è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Nuovo test di accensione dei motori per ...
Novità dalle analisi dell'asteroi...
La PS6 sarà più potente del previsto: ec...
Sony svela Xperia 10 VII: è il nu...
Amazon Weekend da urlo: iPhone 16 a prez...
Spotify diffida ReVanced: chiesta la rim...
Spazzolini elettrici Oral-B iO in super ...
Samsung Galaxy Watch8 Classic e Watch7 a...
Blue Origin prosegue lo sviluppo di Blue...
Roborock Saros 10 e 10R dominano il merc...
Apple scatenata su Amazon: tutti gli sco...
Canon EOS C50 è la nuova videocam...
ASUS ProArt P16 arriva in Italia: la wor...
Fujifilm presenta l'obiettivo FUJINON GF...
Il grafene ha appena 'infranto' una legg...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v