Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di teto
    Registrato dal
    Nov 2002
    Messaggi
    102

    [VB6] RGB, CMYK o BIANCO NERO?

    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

  2. #2
    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

  3. #3
    Utente di HTML.it L'avatar di teto
    Registrato dal
    Nov 2002
    Messaggi
    102
    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?

  4. #4
    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..

  5. #5
    Utente di HTML.it L'avatar di teto
    Registrato dal
    Nov 2002
    Messaggi
    102
    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..
    ho provato GetPixel, ma ho due domandine..... ....

    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
    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???

    2 domanda - anke usando getpixel su di un'immagine in CMYK il programma mi ridarà sempre il colore CMYK convertito in RGB?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    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.

  7. #7
    Utente di HTML.it L'avatar di teto
    Registrato dal
    Nov 2002
    Messaggi
    102
    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 serve

    :master:
    ma un qalke modo per poter controllare se un'immagine è in quadricromia (CMYK) in VB c dovrà pur essere!!!
    :master:

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    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 ...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.