• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

TIPS#011 – Convertire UIColor in RGB o viceversa RGB in UIColor

By Redazione | on 28 Aprile 2010 | 3 Comments
Tips & Tricks

RGB Vediamo oggi, con questo nuovo Tips & Tricks Xcode, come convertire facilmente un UIColor nei suoi componenti RGB o, viceversa, come convertire un colore da RGB in UIColor. Potremmo avere infatti bisogno per la nostra applicazione di qualche colore in più, rispetto a quelli a disposizione, o magari potremmo trovare interessante poter utilizzare nel nostro codice il classico RGB in esadecimale, preso ad esempio da un programma di fotoritocco. Qualsiasi sia il vostro fine, vi proponiamo questi semplici tips scovati in rete che potrebbero prima o poi tornarvi utili.

Estraiamo il valore dei componenti RGB da un UIColor

Vediamo il primo esempio che ci permetterà di ottenere da un UIColor i rispettivi tre valori RGB (più un quarto valore: alpha, ovvero la trasparenza):

UIColor color = [[UIColor redColor] retain];
CGColorRef colorref = [color CGColor];

int numComponents = CGColorGetNumberOfComponents(colorref);

if (numComponents == 4) {
    const CGFloat *components = CGColorGetComponents(colorref);
    CGFloat red     = components[0];
    CGFloat green = components[1];
    CGFloat blue   = components[2];
    CGFloat alpha = components[3];
}
[color release];

Convertiamo un valore RGB in UIColor

Se invece il vostro problema è la scarsa disponibilità di UIColor è vorreste crearne di nuovi, potete usare la seguente istruzione, in cui dovrete specificare i tre colori più il valore alpha (1.0 per nessuna trasparenza):

[[UIColor alloc] initWithRed:20.0 / 255 green:59.0 / 255 blue:102.0 / 255 alpha:1.0]

Se infine volete usare nei vostri listati in Objective-C, direttamente il codice RGB in esadecimale prelevato, ad esempio, da un programma di fotoritocco, una possibile soluzione è questa:

#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

Da utilizzare in questo modo:

UIColor color = UIColorFromRGB(0xF7F7F7);

Per comodità vi postiamo una rappresentazione grafica contenente gli UIColor disponibili con il rispettivo codice esadecimale RGB:


iPhone UIColor - RGB

(fonte)

Share this story:
  • tweet

Tags: rgbrgb to uicolortipsuicoloruicolor to rgb

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • T#060 – Creiamo un’applicazione per iPhone in stile “Brushes” [Parte 2]

    1 Luglio 2010 - 4 Comments
  • T#059 – Creiamo un’applicazione per iPhone in stile “Brushes” [Parte 1]

    30 Giugno 2010 - 16 Comments
  • T#056 – GuessTheColor: Impariamo creando un giochino per iPhone

    23 Giugno 2010 - 9 Comments

Author Description

3 Responses to “TIPS#011 – Convertire UIColor in RGB o viceversa RGB in UIColor”

  1. 28 Aprile 2010

    Giovambattista Fazioli

    Può essere comodo anche:

    #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]

  2. 28 Aprile 2010

    Staff devAPP


    Giovambattista Fazioli:

    Può essere comodo anche:

    #define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]

    Vero! Un altro metodo che può tornare utile.. Grazie per la segnalazione 😉

  3. 28 Aprile 2010

    Giovambattista Fazioli

    In aggiunta, per i più smaliziosi, la possibilità di estendere la classe UIColor:

    // UIColor+Hex.h

    @interface UIColor (Hex)

    + (UIColor *) colorWithHex:(uint) hex;

    @end
    // UIColor+Hex.m

    #import "UIColor+Hex.h"

    @implementation UIColor (Hex)

    + (UIColor *) colorWithHex:(uint) hex
    {
    int red, green, blue, alpha;

    blue = hex & 0x000000FF;
    green = ((hex & 0x0000FF00) >> 8);
    red = ((hex & 0x00FF0000) >> 16);
    alpha = ((hex & 0xFF000000) >> 24);

    return [UIColor colorWithRed:red/255.0f
    green:green/255.0f
    blue:blue/255.0f
    alpha:alpha/255.f];
    }

    @end

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO