Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186

    [VB.NET] Ritagliare immagine assunta da telecamera e salvarla

    Ciao ragazzi!
    Ho un bel problemino e quindi mi sono rivolto a voi.

    Ho una telecamera con la quale ogni tot millesimi di secondo faccio una foto e la salvo.
    E fin qui tutto ok.

    Ora mi servirebbe assumere solo una parte della foto, non tutta, in altre parole mi servirebbe solo una striscia orizzontale di questa.

    Riuscite a dirmi come fare?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Metti la tua foto su un oggetto bitmap, poi crei un altro oggetto bitmap delle dimensioni del rettongolo che vuoi ricavarti, e tramite l'oggetto Graphics.DrawImage copy la parte che vuoi nella bitmap do destinazione

    Sergio

  3. #3
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Allora, sono riuscito a mettere l'immagine (che alla fine è un buffer di pixel) nell'oggetto Bitmap

    codice:
    Dim image As New Bitmap(200, 100)
            image = buf.Bitmap
    Adesso devo creare un altro oggetto bitmap e inserire quello già creato in questo?

    In questo modo per capirci?

    codice:
    Dim image2 As New Bitmap(100,50)
    
    image2.Graphics.DrawImage(image)
    non credo sia giusto comunque...
    E altra cosa, inserendo solo altezza e larghezza, come faccio a selezionare il rettangolo che voglio io??

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Diciamo che su Dib (di tipo bitmap) ho l'immagine completa, mentre su Rect (di tipo Rectangle) ho definito il rettangolo che voglio estrarre.
    codice:
    Dim bmpTmp = New Bitmap(Rect.Width + 1, Rect.Height + 1)
    Dim grTmp As Graphics = Graphics.FromImage(bmpTmp)
    grTmp.DrawImageUnscaledAndClipped(Dib, New Rectangle(-Rect.X, -Rect.Y, bmpTmp.Width + Rect.X, bmpTmp.Height + Rect.Y))
    Ora su bmpTmp hai la tua bitmap ritagliata

    Ciao
    Sergio

  5. #5
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Grazie mille!
    Sono riuscito!!

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.