Oppure

Loading
15/07/21 15:09
bernie
Ciao Carlo

L'esempio funziona e ho iniziato ad adattarlo alle mie necessità .
Sfortunatamente sono sicuro che la strada è corretta, almeno per quello che riguarda l'altezza del bmp. per quanto riguarda la larghezza li sono in un dubbio.
Considerando che alla fine vado ad utilizzare solo file di 1000pixel di larghezza , però per comodità mi risulta più facile fare un file da n000pixel di larghezza e poi tagliarlo. A questo punto la domanda è , risulta meglio usare una funzione "crop " tagliando da 0 a 999, poi da 1000 a 1999 e via fino alla fine salvando i vari crop , oppure clonare un area del file da 0 a 999 e poi incollare il clone su un altro file ?
Altra domanda, dove potrei studiare la parte riguardo la grafica in VB.Net?
Grazie
aaa
15/07/21 16:52
bernie
Dim fetta As New Rectangle(numero , 0, 1000, immagine.Height)
        Dim clone4bpp As Bitmap = immagine.Clone(fetta, Imaging.PixelFormat.Format4bppIndexed)
        clone4bpp.SetResolution(360, 360)
        clone4bpp.Save("C:provaclone4bpp.bmp", Imaging.ImageFormat.Bmp)
        clone4bpp.Dispose()
        


immagine viene creato nell'altra parte di programma, non serve neanche salvarlo sul disco , risparmio tempo e spazio.
Numero è dove devo iniziare a clonare , a step di 1000, quindi primo taglio a 999, secondo 1999, terzo 2999 e via di seguito .

Grazie


aaa
15/07/21 17:31
Carlo
Una guida base ma completa la trovi qui: pierotofy.it/pages/guide/Guida_al_Visual_Basic_dotNET/
i capitoli 96 e 97 parlano della grafica.

Perché ritieni che è più comodo fare un'immagine grande per poi tagliarla?
Perché non costruisci le strisce direttamente?
Se il lavoro è ripetitivo, ti puoi scrivere una routine, passi i parametri dell'immagine completa e la routine produce le striscie in automatico.
Vedo che continui ad inserire .SetResolution, devi stampare l'immagine?
Con i valori di risoluzione a 360 DPI, metti 360pixel in un pollice. Se il sistema grafico che usi ne tiene conto, setterei 50 DPI o meno (vista la tipologia delle BMP) in modo che per occupare la stessa superficie servono meno pixel.
Ultima modifica effettuata da Carlo 15/07/21 17:47
in programmazione tutto è permesso
15/07/21 18:02
bernie
Si, le devo stampare, per quello setto la risoluzione e deve essere 360.

Penso che sia più semplice fare la grafica e poi tagliarla, con rettangoli o quadrati potrei anche fare già le grafiche a misura, con figure irregolari tipo ellisse, si complica un po'.

Adesso ho automatizzato il taglio con un ciclo for da 0 alla larghezza della grafica a step di 1000 pixel. Tanto la grafica totale è un multiplo esatto di 1000.

aaa
15/07/21 18:17
Carlo
OK :k:
in programmazione tutto è permesso
16/07/21 17:11
bernie
Spero di non infrangere nessun regolamento, continuo a postare qui.
Ho un bmp già creato a cui devo cambiare il colore. Se lo carico in un vettore e vado ad analizzare ogni singolo pixel, se il valore del pixel è =0, non lo tocco se diverso da 0 vado a scrivere il valore che voglio io. Invece di scrivere colorvalue lo leggo e faccio la comparazione, nel caso lo sovrascrivo.
Adesso non ho il PC e quindi non posso provare, è corretto il ragionamento?
Grazie
aaa
16/07/21 17:49
Carlo
Si.
Vettore di Bytes?
Se si, considera che in base al formato dei pixel, il significato del valore del Byte letto cambia.
in programmazione tutto è permesso
16/07/21 18:03
bernie
Si, pensavo di usare lo stesso sistema che mi hai fatto vedere per scrivere i pixel, usarlo per leggerli e poi eventualmente sovrascriverli
aaa