Regolare contrasto immagine – Codice VB.NET


Regolare contrasto immagine: una semplice funzione in codice VB.NET Introduzione Può capitare che in alcune parti del nostro programma occorra modificare per qualche motivo il contrasto di un’immagine. Ad esempio se stiamo implementando un elaboratore di immagini, ...




Categoria dell'articolo: Codice VB.NET

Listati in codice Visual Basic.NET, elaborati o rielaborati e adattati da IngAC con la versione 2015. Funzioni e subroutine varie utili alla creazione di programmi.





Autore articolo:



Regolare contrasto immagine: una semplice funzione in codice VB.NET

Introduzione

Può capitare che in alcune parti del nostro programma occorra modificare per qualche motivo il contrasto di un’immagine. Ad esempio se stiamo implementando un elaboratore di immagini, sapere come regolare contrasto di una immagine tramite vb.net è uno dei passi fondamentali. La funzione che ho implementato, girando qua e la sul web e rielaborando il tutto, che si occupa appunto di regolare contrasto di immagini è: IngAC_IMMAGINE_CONTRASTO (ByVal Immagine As Bitmap, ByVal Contrasto As Single) As Bitmap.

Public Function IngAC_IMMAGINE_CONTRASTO(ByVal Immagine As Bitmap, ByVal Contrasto As Single) As Bitmap
        'contrasto range [0,100]=>[0,100]
        If Contrasto < 0 Then Contrasto = 0
        If Contrasto > 100 Then Contrasto = 100
        Dim ctr As Single = Contrasto
        ' Si crea la Contrast_Matrix
        Dim Contrast_Matrix As Single()() = {
           New Single() {ctr, 0, 0, 0, 0},
           New Single() {0, ctr, 0, 0, 0},
           New Single() {0, 0, ctr, 0, 0},
           New Single() {0, 0, 0, 1, 0},
           New Single() {0.001, 0.001, 0.001, 0, 1}}
        ' Si crea una copia dell'immagine di partenza
        Dim bmp As New Bitmap(Immagine)
        Dim imgattr As New ImageAttributes()
        Dim rc As New Rectangle(0, 0, Immagine.Width, Immagine.Height)
        Dim g As Graphics = Graphics.FromImage(Immagine)
        Dim cm As New ColorMatrix(Contrast_Matrix)
        '  Si associa la Contrast_Matrix con una ImageAttributes
        imgattr.SetColorMatrix(cm)
        ' Si applica la Contrast_Matrix all'immagine
        g.DrawImage(bmp, rc, 0, 0, Immagine.Width, Immagine.Height,
                                   GraphicsUnit.Pixel, imgattr)
        ' Reset
        g.Dispose()
        Return Immagine ' Restituisce l'immagine modificata
    End Function



Come fare a regolare contrasto immagine in VB.NET

La funzione IngAC_IMMAGINE_CONTRASTO ha come input:

  • Immagine che è l’immagine orginale che può provenire sia da file che da picturebox o anche da altri oggetti image o bitmap.
  • Contrasto che appunto rappresenta il valore del contrasto che vogliamo applicare e varia tra zero (buio totale) a 100 (completamente bianco);

In output si avrà un’immagine uguale all’originale ma modificata nel contrasto, da usare come più ci aggrada.

Funzionamento di IngAC_IMMAGINE_CONTRASTO ()

Il funzionamento è lineare; occorre innanzi tutto includere Imports System.Drawing.Imaging che permette di accedere alle funzionalità grafiche di vb.net e alle varie classi inerenti. Effettuato il controllo sull’input e creata la matrice Contrast_Matrix , il tutto per permettere una maggiore velocità di elaborazione rispetto ai classici cicli for pixel per pixel, si passa alla definizione dell’area da elaborare (tramite l’oggetto rectangle) e infine all’elaborazione vera e propria con g.DrawImage.

Link Utili:

Regolare contrasto - Codice VB.NET

Regolare contrasto – Codice VB.NET






Random Post

Cipolle, cipolla – Interpretazione dei sogni

Sognare le cipolle, una cipolla, affettate o integre: significati, interpretazioni e numeri del lotto associati. Le cipolle sono un ortaggio cucinato e mangiato in tutto il mondo. La cipolla era sac...

Vai al post...

PREVISIONE LOTTO n° 78 di 150 per MARTEDÌ 6 GIUGNO 2017

PREVISIONE LOTTO n° 78 di 150 per MARTEDÌ 6 GIUGNO 2017 Esito della previsione precedente: 2)NAPOLI: Ambo + 4 ambetti; 3)GENOVA: 1euro 10elotto. Previsione “beta V3” test precedente: 3)C...

Vai al post...

Pomodori – Interpretazione dei sogni

I pomodori nei sogni: significati, interpretazioni e numeri della cabala associati. I pomodori entrano nell’alimentazione umana e nelle varie ricette di cucina ormai quasi quotidianamente: una b...

Vai al post...

Piscina, piscine – Interpretazione dei sogni

La piscina nei sogni: significati, interpretazioni e numeri della smorfia associati. La piscina è un “contenitore” d’acqua ed ha un significato molto importante: essa può spesso...

Vai al post...
Disclaimer:


Questo blog NON è un prodotto editoriale ai sensi della legge n° 62 del 7 marzo 2001. Le immagini tratte da internet che possano violare i diritti di autore, previa comunicazione, attraverso la sezione -contatti-, verranno prontamente rimosse o sostituite.

Copyright:


I contenuti presenti su ROMOLETTO BLOG dei quali è autore il proprietario del blog non possono essere copiati, riprodotti, redistribuiti perché appartenenti all autore stesso. Si vieta la copia e la riproduzione dei contenuti in qualsiasi modo o forma. Si vieta altresì la pubblicazione e la redistribuzione dei contenuti non autorizzata espressamente dell autore.


Copyright © 2011 / 2017 - ROMOLETTO BLOG - All Right Reserved

IngAC

Informazioni su Romoletto

Ingegnere Civile, Blogger, Programmatore VB.NET, Lezioni private per scuole medie inferiori e superiori. Per contattarmi scorri la home fino in fondo e vai al form -Contatti-

Navigazione per Articoli della stessa Categoria