Il concetto di "trasparenza" non è incluso nel concetto di "regione".
La regione è semplicemente un'area geometrica nella quale sono valide le operazioni di disegno, mentre all'esterno esse non vengono eseguite.
Si possono creare regioni rettangolari, ellittiche e così via; quella rettangolare è la base di partenza, nel nostro caso.
Per ciascun pixel da considerare trasparente nel bitmap si deve creare una piccola regione rettangolare delle dimensioni del pixel; tale regione dovrà essere combinata con la regione rettangolare più grande affinchè da quest'ultima venga rimossa la prima. In poche parole, la regione risultante è la regione rettangolare originale privata della regione corrispondente al pixel trasparente. Ripetendo questa operazione per tutti e soli i pixel da considerate trasparenti, la regione finale avrà la forma desiderata della figura.
Per ottenere le caratteristiche dell'immagine e il colore dei singoli pixel, devi accedere al bitmap contenuto nel controllo TImage attraverso la proprietà Picture.Bitmap; la proprietà Bitmap di tipo TBitmap dispone di una proprietà ScanLine che ti permette di reperire le informazioni sul colore; esiste anche la proprietà Pixels del Canvas, ma è più lenta. Le informazioni su ScanLine le trovi nella Guida in linea.
Per quanto riguarda l'esecuzione del metodo, io ridefinirei il metodo Loaded della form e inserirei in quel punto la chiamata al metodo che implementa la definizione della regione, poichè tutte le proprietà della form e dei controlli in essa contenuti sono già state caricate.
Ciao!![]()