C'è un modo per convertire un tipo di immagine in uno script jmp prima di aggiungerlo in una colonna immagine in una tabella?Ho un sacco di file .tif che risiedono in un file .zip.Posso leggere i dati da un'immagine specifica in una tabella usando uno script come questo:
dt = New Table( "test", New Column( "Image", Expression ) );
dt << Add Rows( 1 );
za = Open( "tif_library", "zip" );
dat = za << Read( "tif_file_n.tif", Format( blob ) );
img = New Image( dat, "tiff" );
dt:Image = img;
Close( dt, Save("test.jmp", "jmp");<BR />Il problema è che il file test.jmp è enorme.Tuttavia, se riesco a convertire l'immagine da un tiff a un jpeg, la tabella jmp risultante è notevolmente più piccola (e posso convivere con i limiti di qualità).Ma l'unico modo in cui posso vedere per farlo è salvare l'immagine come file .jpg e poi rileggerla.
dt = New Table( "test", New Column( "Image", Expression ) );
dt << Add Rows( 1 );
za = Open( "tif_library", "zip" );
dat = za << Read( "tif_file_n.tif", Format( blob ) );
img = New Image( dat, "tiff" );
img << Save Image( "temp.jpg", "jpeg");
img1 = New Image( "temp.jpg" );
dt:Image = img1;
Close( dt, Save("test.jmp", "jmp");C'è un modo semplice per farlo in JMP senza dover scrivere su file e rileggerlo?Grazie per il tuo saggio consiglio!
Come hai notato, JMP cerca di evitare di ricomprimere i file di immagine mantenendo la versione originale del file. Probabilmente JMP manterrà una rappresentazione PNG anziché un JPG se JMP non è in grado di determinare il formato originale. A seconda di cosa contiene effettivamente il TIFF, PNG potrebbe essere ciò di cui hai bisogno o abbastanza buono. Puoi farlo senza usare un file di disco intermedio, come questo:
dt = New Table( "test", New Column( "Image", Expression ) );
dt << Add Rows( 1 );
// no tiff handy, but like this:
img = open("C:\Users\chales\Pictures\after.jpg","jpg");
//dt:Image = img;
img<<SCALE></SCALE>
<
PNG è un formato compresso senza perdita di dati, particolarmente adatto per immagini come i grafici creati da JMP (con bordi netti). JPG è una compressione con perdita adatta per immagini di fotocamere del mondo reale con bordi più morbidi. I file TIFF possono contenere molti formati, inclusi i formati di pixel grezzi non compressi che sono enormi. Nel mio esempio sopra, "after.jpg" era un'immagine della fotocamera di grandi dimensioni che è diventata molto più grande di un png. Potresti preferire il tuo approccio esistente.