Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Generico] Ridimensionamento immagine.. Come funziona il mantenimento delle proporzioni?

    Ho scaricato un tool di windows che permette di ridimensionare le immagini mantenendo le proporzioni... In pratica la stessa cosa che fa Photoshop quando si allargano le immagini tenendo premuto il tasto "Shift" o non ricordo quale...

    Qualcuno saprebbe spiegarmi 1. la teoria con cui mantiene le proporzioni? 2. Programmaticamente come svolge questa operazione il programma? (io uso VBNet però ho detto il topic è generico)

  2. #2
    Quando ridimensioni l'immagine devi guardare se stai ingrandendo o rimpicciolendo. Nel primo caso devi generare dei nuovi pixel che prima non esistevano, mentre nel secondo caso devi "sacrificare" parte dei pixel in base alla dimensione della nuova immagine. Naturalmente il problema più complesso è quello dell'ingrandimento, perché devo generare pixel che prima non c'erano. Le varie tecniche di interpolazione si basano tipicamente sulla media. Prova a cercare su Google "interpolazione immagini" e vedrai quanto materiale c'è sull'argomento
    Il mio sito e blog: http://www.montagnamarco.it

  3. #3
    Quindi programmaticamente parlando sarebbe veramente un bel malloppo da gestire

  4. #4
    Uhm, sul mantenere le proporzioni non c'è niente da capire, basta moltiplicare/dividere entrambi i lati per lo stesso fattore quando si determinano le "nuove" altezza e larghezza.

    Per l'"inventarsi" i pixel, è vero che esistono algoritmi sofisticati, ma una normale interpolazione lineare non è complessa da scrivere - quantomeno in maniera naïf (anche se sono sicuro che VB.NET già fornisca qualcosa a tal proposito).

    Puoi leggerti una panoramica sull'argomento qui.
    Ultima modifica di MItaly; 11-06-2014 a 01:08
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Uhm, sul mantenere le proporzioni non c'è niente da capire, basta moltiplicare/dividere entrambi i lati per lo stesso fattore quando si determinano le "nuove" altezza e larghezza.

    Per l'"inventarsi" i pixel, è vero che esistono algoritmi sofisticati, ma una normale interpolazione lineare non è complessa da scrivere - quantomeno in maniera naïf (anche se sono sicuro che VB.NET già fornisca qualcosa a tal proposito).
    Ora per curiosità ho provato a Googlare: "Vb.net Image scaling" e ci sono un pò di risultati anche se effettivamente non so se qualcuno fa esattamente quello di cui stiamo parlando...

    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Puoi leggerti una panoramica sull'argomento qui.
    Peccato sia inglese (in quanto è un bel malloppo) però ho letto qualcosa ed è veramente molto interessante e completo..

    Ad ogni modo il tool che ho provato io ottenendo ottimi risultati è: https://imageresizer.codeplex.com/
    Mi piacerebbe crearmi una mia versione, avete qualcosa da cui potrei partire parlando di Vb.Net o anche C# visto che sono quasi identici? Non ne ho un vero e proprio bisogno però appunto per far pratica

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.