Pagina 1 di 1

[Risolto] Creazione immagini a 64bit con GD

Inviato: mercoledì 11 maggio 2016, 19:57
da MarkTaylors
Ciao a tutti. Ho un problema. Dovrei creare delle immagini grandi che arrivano anche a 250.000 x 250.000 pixel salvate in formato png o bmp e convertite poi in tiff con ImageMagick.
Se uso dimensioni basse tutto funziona a meraviglia ed è iper veloce, ma se aumento i pixel mi dice che ho sforato il valore di INT_MAX nella funzione imagecreatetruecolor.
In C# settavo il progetto a 64bit e tutto funzionava. Qua in linux/php che devo fare? Scusate la domanda idiota. :o

Re: Creazione immagini a 64bit con GD

Inviato: mercoledì 11 maggio 2016, 20:01
da ravenglass

Re: Creazione immagini a 64bit con GD

Inviato: giovedì 12 maggio 2016, 0:51
da Eresia

Re: Creazione immagini a 64bit con GD

Inviato: giovedì 12 maggio 2016, 1:19
da UbuNuovo
Non è che hai installato una distribuzione a 32 bit?
Il mio PHP gestisce gli interi a 64 bit.

Codice: Seleziona tutto

8-) php -r 'echo PHP_INT_MAX;'
9223372036854775807
Se esegui nel terminale

Codice: Seleziona tutto

php -r 'echo PHP_INT_MAX."\n";'
e ottieni il mio stesso numero allora il problema non è di PHP, potrebbe essere delle librerie GD o di imagemagick, non saprei; ma almeno sai su cosa indagare.
Una curiosità, che utilizzo hanno delle immagini così mastodontiche?

Re: Creazione immagini a 64bit con GD

Inviato: venerdì 13 maggio 2016, 16:56
da MarkTaylors
Allora ho letto tutte le vostre risposte e intanto vi ringrazio. Arriviamo al dunque.
Ho eseguito il comando di UbuNuovo e ho il tuo stesso risultato, quindi escludiamo PHP come problema.
Grazie a ravenglass ho cambiato la creazione dell'immagine da createimagetruecolor a createimage non ricevendo più errori, ma di fatto non mi genera una fava... :muro:
Riguardo al motivo per cui devo creare delle immagini così grandi è perchè ho creato un wizard online che si interfaccia con delle stampanti digitali ad alta precisione che elaborano grandi formati. Quindi serve creare un grande formato e salvarlo alla fine in tiff, possibilmente passando prima da una bmp e non da un jpg.
Se qualcuno mi aiuta a trovare la soluzione vi adoro, se no se non mi impiccate con le richieste sono disposto anche a pagare per trovare uno script che funziona davvero.
Sono disperato a riguardo, non dà errori ora ma blocca il pc e poi non crea nulla.. :cry:

Re: Creazione immagini a 64bit con GD

Inviato: venerdì 13 maggio 2016, 17:29
da UbuNuovo
Brutte notizie! A quanto pare le GD non supportano interi superiori ai 32 bit, è stata fatta richiesta di aumentare il limite ma chissà se e quando sarà fatto.
https://bugs.php.net/bug.php?id=66488
Credo che tu debba cercare altri strumenti. :(
Io non ho alcuna esperienza con immagini di quel tipo e non saprei da dove iniziare.
Ho googolato sull'argomento ma non ho trovato niente di utile.
Sul forum non si chiede supporto a pagamento.
Se capita qualcuno pratico, per quanto riguarda il tuo problema, ti aiuterà senza ombra di dubbio.
Quello che facevi con le GD non lo puoi fare con Imagemagick? (Non so però se imagemagick soffra dello stesso problema)

Re: Creazione immagini a 64bit con GD

Inviato: venerdì 13 maggio 2016, 17:33
da MarkTaylors
OK :D immaginavo..
Per fortuna ho già scritto tutto l'algoritmo in C# ma speravo in php. Grazie.
Riguardo ai compensi, se è così, sempre più entusiasto del mondo linux, e detto da un partner decennale microsoft... ;)

Re: [RISOLTO] Creazione immagini a 64bit con GD

Inviato: venerdì 13 maggio 2016, 17:37
da UbuNuovo
Bene, avevi pronta una scappatoia. :D
:ciao: