Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305

    Vb6 – Cerco Funzione X I Colori

    Conosco il valore rgb di un colore (ad es. R=255 G=0 B=0) che so che corrisponde al ROSSO.
    Ce una funzione che mi ritorna la stringa “rosso” o la stringa di colore corrispondente al rgb?

    Cioè mi serve una funzione per ogni possibile tonalità di rgb (es. lilla, verde chiaro, verde scuro, ecc..) come ad esempio succede in word, se si passa sulla tavoletta dei colori compare il nome.
    Le mie richieste qui sul forum sono al 99,9% considerate assurde e senza senso, ma per me un senso lo hanno e gradirei una risposta più seria possibile. Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    567
    m... sinceramente nn mi ricordo come funzionano i colori in vb6, ma presumo che siano RGB standard.

    un rgb in esadecimale si scrive così:

    aabbcc

    dove
    aa = esadecimale di R
    bb = esadecimale di G
    cc = esadecimale di B

    quindi se hai ad esempio RGB(254, 36, 128) devi mettere:
    &FE2480

    dato che
    254->FE
    36->24
    128->80
    "Come vedi tutto è usuale, solo che il tempo chiude la borsa e c'è il sospetto che sia triviale l'affanno e l'ansimo dopo una corsa, l'ansia volgare del giorno dopo, la fine triste della partita, il lento scorrere senza uno scopo di questa cosa che chiami vita."

  3. #3
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    quello loso! io voglio ricavare la stringa "lilla" o "rosso" a partire dal rgb (ad esempio se ho rgb(255,0,0) che non mi ricordo cosa sia voglio che mi dica "verde", ok? mi sono spiegata? come ritorno voglio una stringa
    Le mie richieste qui sul forum sono al 99,9% considerate assurde e senza senso, ma per me un senso lo hanno e gradirei una risposta più seria possibile. Grazie

  4. #4
    Allora sei tu che devi impostare il valore degli RGB per avere un riscontro, non credo esista un DB diretto che abbia tutte le tonalità con il valore "giallo, lilla, celeste etc..." nel caso puoi andare avanti con delle istruzioni If ma sarà certamente una cosa lunga e complessa dato che lavori in un sistema esadecimale....., a meno che non ci sia una funzione del tipo

    If RGB From &FE1504 To & FE15FF Then

    lblColore.Caption = "XXXXXXX"

    End If

    ma ti ripeto è una supposizione, sicuramente è molto più complesso e lungo andare avanti con

    If RGB = & FE1504 Then
    lblColore.Caption = "XXXXXXX"
    ElseIf RGB = &FE1505 Then
    lblColore.Caption = "XXXXXXX"
    ElseIf ...........
    ElseIf RGB = &FE1601 Then
    lblColore.Caption = "XXXXXXY"
    End If

    Non so se mi sono spiegato e soprattutto non so se è corretto quel che ho appena detto

  5. #5
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    non esiste un db con i colori o una funzione del genere? STRANO, pensavo che qualcuno l'avesse gia creata al posto mio...siamo sicuri? richiedo aiuto...non ho tempo per crearmela! uffi help
    Le mie richieste qui sul forum sono al 99,9% considerate assurde e senza senso, ma per me un senso lo hanno e gradirei una risposta più seria possibile. Grazie

  6. #6
    Ciao, so che esistono le costanti vbRed, vbGreen, ecc...
    Non le ho mai usate, ma a logica credo che contengano il valore RGB corrispondente (spera)


  7. #7
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    in word ho notato che ci sono 2 colori verde limone e 2 verde acqua mi pare, deve essere un errore! cmq ci sono quei 40 colori principali (mi pare siano 40( e poi le personalizzazione in cui mette l'rgb come definizione). Non esiste un db? insisto
    Le mie richieste qui sul forum sono al 99,9% considerate assurde e senza senso, ma per me un senso lo hanno e gradirei una risposta più seria possibile. Grazie

  8. #8
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Non Capisco. Perché non carichi la tavolozza già predisposta. O vuoi modificare/integrare la predetta tavolozza dei colori?
    LM

  9. #9
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    mi va bene la tavoletta ma voglio che quando passo sopra un colore mi scriva che colore è come fa word...:-(
    Le mie richieste qui sul forum sono al 99,9% considerate assurde e senza senso, ma per me un senso lo hanno e gradirei una risposta più seria possibile. Grazie

  10. #10
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Se vuoi ti potrei fornire le tre funzioni che definiscono i colori RGB (Red, Green e Bleu) e con una piccola variante alla routine che attualmente uso per i grafici, ti appare in MsgBox il colore scelto.
    codice:
    'Rosso:
    Public Function RedFromRGB(ByVal rgb As Long) As Integer    'Modifica del colore
    RedFromRGB = &HFF& And rgb
        End Function
    'Verde:
    Public Function GreenFromRGB(ByVal rgb As Long) As Integer  'Modifica del colore
            GreenFromRGB = (&HFF00& And rgb) \ 256
        End Function
    'Bleu:
    Public Function BlueFromRGB(ByVal rgb As Long) As Integer   'Modifica del colore
            BlueFromRGB = (&HFF0000 And rgb) \ 65536
        End Function
    Poi il metodo ShowColor:
    codice:
    'Consente di modificare il colore di una serie facendo doppio clic su di essa:
        Private Sub MSChartExtra_SeriesActivated(Series As Integer, _
            MouseFlags As Integer, Cancel As Integer)
    
            Dim Red, Green, blue As Integer
        With FrmTIRext.CommonDialogExtra
            .CancelError = True                 'Imposta CancelError su True
        On Error GoTo ErrHandler
            .ShowColor
            Red = RedFromRGB(.Color)
            Green = GreenFromRGB(.Color)
            blue = BlueFromRGB(.Color)
    ErrHandler:
            If Err.Number = 32755 Then          'é stato scelto Annulla
                Exit Sub
            End If
        End With
    
    'L'oggetto Pen è utilizzato soltanto nei grafici a
    'barre 2D e 3D - in tutti gli altri tipi è utilizzato l'oggetto Brush:
        If FrmTIRext.MSChartExtra.chartType <> VtChChartType3dLine Then
            FrmTIRext.MSChartExtra.Plot.SeriesCollection(Series).DataPoints(-1).Brush.FillColor.Set Red, Green, blue
            If (Red = 128) And (Green = 255) And (blue = 128) Then
                MsgBox ("Il colore scelto è verde chiaro")
            End If 
        End If
    End Sub
    In rosso ho messo il messaggio che deriva dall'If della combinazione dei tre colori di base.

    Ciao
    LM

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