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

    VB.NET - Posso tagliare un immagine da codice?

    In pratica io ho un immagine 500x500 e voglio ad esempio tagliare e salvare 200x200 partendo dalla posizione 100x100...

    Posto un immagine d'esempio:
    Il punto 100x100 è la posizione da dove iniziare il ritaglio
    Il punto 200x200 è effettivamente dove completare il ritaglio



    Possibile fare qualcosa del genere?
    Se lo fosse dopo mi basterà aggiungere il codice in un for each che mi cicla i file immagine in una cartella e riesco tranquillamente a tagliare tutti i file in quella cartella giusto? (sempre che non esista un software che già fa questo lavoro)

  2. #2
    È piuttosto semplice; crea un oggetto Bitmap vuoto delle dimensioni richieste (nel tuo caso 100x100), quindi crea un oggetto Graphics per disegnare su di esso usando il metodo Graphics.FromImage. A questo punto, usa il metodo DrawImage dell'oggetto Graphics che hai creato per disegnare l'immagine sorgente sull'oggetto Graphics (ovvero sulla bitmap di destinazione), avendo cura di specificare come posizione di disegno -A (dove A è il punto in rosso sulla tua immagine).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Dimenticavo...
    Se lo fosse dopo mi basterà aggiungere il codice in un for each che mi cicla i file immagine in una cartella e riesco tranquillamente a tagliare tutti i file in quella cartella giusto?
    Certo.
    (sempre che non esista un software che già fa questo lavoro)
    IrfanView in bach mode fa questo ed altro.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Ti amo
    NB: Non sono omosessuale!

    Io nel frattempo avevo trova un metodo veramente molto più complesso, estraevo tutti i pixel e li mettevo in una nuova bitmap Byte To Byte (Non uccidetemi)

  5. #5
    Quote Originariamente inviata da deamon75 Visualizza il messaggio
    Io nel frattempo avevo trova un metodo veramente molto più complesso, estraevo tutti i pixel e li mettevo in una nuova bitmap Byte To Byte (Non uccidetemi)
    In realtà, se implementato correttamente (e probabilmente in C#, in cui si possono usare i blocchi unsafe), è il metodo in assoluto più efficiente (dal punto di vista delle prestazioni) per fare quello che chiedi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Wow
    l'unico peccato è che, anche se quasi uguali, non mi trovo proprio col C#.

    Comunque ultima domanda, con Irfan posso prendere due immagini delle stesse dimensioni ed affiancarle in una?
    Cioè se ho due immagini 250x300 posso crearmi una nuova immagine 500x300 che contiene entrambe le immagini una di fianco all'altra?

    In alternativa posso farlo programmaticamente con lo stesso sistema che mi hai citato sopra, cioè definendo un bitmap delle giuste dimensioni?

  7. #7
    1) Mi sembra di sì.
    2) Certamente, una volta che hai l'oggetto Graphics associato ad una Bitmap ci puoi disegnare sopra (e quindi copiarci sopra immagini) come ti pare.
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.