Esiste il modo di sapere se un'immagine è in RGB, CMYK o BIANCO NERO?
il file è un PDF comunque mi va bene qalsiasi consiglio.
![]()
grazie
Esiste il modo di sapere se un'immagine è in RGB, CMYK o BIANCO NERO?
il file è un PDF comunque mi va bene qalsiasi consiglio.
![]()
grazie
Forse non ho capito bene la tua domanda, ad ogni modo ti suggerisco di usare la funzione API GetPixel, che può restituire il colore dell'immagine con un ciclo for/next adeguato..cmq fammi sapere..ciao
Originariamente inviato da MdE2005
Forse non ho capito bene la tua domanda, ad ogni modo ti suggerisco di usare la funzione API GetPixel, che può restituire il colore dell'immagine con un ciclo for/next adeguato..cmq fammi sapere..ciao
ti spiego meglio:
il programma in VB6 dovrebbe controllare se un file .pdf (ke è uno spazio pubblicitario quindi un'immagine) è in RGB, CMYK o BIANCO NERO?
avevo pensato d usare le stesse informazioni ke si trovano nel pdf, e ke con acrobat si trovano sotto la voce di "VERIFICA PRELIMINARE", ma nn so come posso fare!!![]()
grazie
p.s. GetPixel può essere un'idea m puoi dare qalke riferimento?![]()
No io pensavo che tu volessi ricavare il colore dei vari pixel, e per questo scopo la funzione API adatta e specifica è GetPixel..
per poi ricavare tutti i colori dell'immagine potevi usare un ciclo for/next da per tutta la larghezza e l'altezza dell'immagine..
ho provato GetPixel, ma ho due domandine.....Originariamente inviato da MdE2005
No io pensavo che tu volessi ricavare il colore dei vari pixel, e per questo scopo la funzione API adatta e specifica è GetPixel..
per poi ricavare tutti i colori dell'immagine potevi usare un ciclo for/next da per tutta la larghezza e l'altezza dell'immagine......
1 domanda - facendo partire il programma e andando con il mouse su di una parte bianca mi dice ke è "16777215" e non 000000 come dovrebbe essere in RGB, PERCKE???codice:Option Explicit Private Declare Function GetPixel Lib "gdi32" _ (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Private Declare Function GetCursorPos Lib "user32" _ (lpPoint As POINTAPI) As Long Private Declare Function GetAsyncKeyState Lib "user32" _ (ByVal vKey As Long) As Integer Private Declare Function GetWindowDC Lib "user32" _ (ByVal hwnd As Long) As Long Private Type POINTAPI x As Long y As Long End Type Private Sub Command1_Click() Dim pos As POINTAPI Dim lDC As Long mainLoop: If GetAsyncKeyState(vbKeyReturn) < 0 Then 'premi enter scivi il colore lDC = GetWindowDC(0) Call GetCursorPos(pos) Debug.Print GetPixel(lDC, pos.x, pos.y) ElseIf GetAsyncKeyState(vbKeyEscape) < 0 Then 'premi esc esci End End If DoEvents GoTo mainLoop End Sub
2 domanda - anke usando getpixel su di un'immagine in CMYK il programma mi ridarà sempre il colore CMYK convertito in RGB?
![]()
Veramente il bianco in RGB e' 255,255,255 (0,0,0 e' il nero) e il valore FFFFFF esadecimale (il bianco in formato long) e' proprio il valore 16777215 ...
CMYK e' usato per le stampanti mentre, quando sono riprodotti a video, le immagini utilizzano lo spazio dei colori RGB. La GetPixel ritorna il colore di un pixel dello schermo e quindi lavora sempre in RGB.
ma allora getpixel nn m serveCMYK e' usato per le stampanti mentre, quando sono riprodotti a video, le immagini utilizzano lo spazio dei colori RGB. La GetPixel ritorna il colore di un pixel dello schermo e quindi lavora sempre in RGB.![]()
![]()
:master:
ma un qalke modo per poter controllare se un'immagine è in quadricromia (CMYK) in VB c dovrà pur essere!!!
:master:
Il problema e' piu' "a monte" e non dipende dal VB ma si allarga a qualsiasi linguaggio...
Penso che si possa determinare "leggendo" all'interno del file.
Ad esempio, all'interno di in un file JPG, dovra' essere scritto da qualche parte che i colori sono espressi in CMYK ...