Vous devez simplement prendre cette image et ajouter une couleur à chaque chiffre hexadécimal. Par exemple, #49de5f
deviendrait #5aef60
(avec le 9
bouclage vers un a
et le f
bouclage vers un 0
.)
Cela signifierait également que tout le blanc ( #ffffff
) deviendrait noir ( #000000
) car toutes les f
boucles reviennent à 0
, mais tout le noir deviendra une teinte plus claire du noir ( #111111
).
La notation est basée sur le moins d'octets utilisés, car il s'agit d'une question de code-golf .
Utilisez l'image ci-dessous comme image d'entrée pour votre code et mettez l'image de sortie de votre code dans votre réponse.
Si vous le souhaitez, vous pouvez également utiliser cette autre image arc-en-ciel:
ef
octets (qui devrait devenirf0
contrairement à00
ce qui se produit lorsque vous ajoutez simplement 17 et prenez le mod 256).Réponses:
Pyke,
1713 octetsEssayez-le ici!
Prend les entrées sous forme de tableau de nombres entiers 3D de pixels et les sorties au même format
la source
Mathematica, 78 octets
Prend et renvoie un objet image (pour créer un objet image, collez simplement l'image dans Mathematica).
Résultat pour le cas de test:
En prenant l'entrée et en renvoyant la sortie sous la forme d'un tableau 3D de valeurs de canaux entiers, cela se réduit à 51 octets :
Mais ces méta-publications n'ont pas encore un support écrasant, donc je vais pour le moment avec la version 78 octets.
la source
Verilog, 220 octets:
Actuellement, il n'est pas clair comment les dimensions doivent être fournies et si le tableau doit être diffusé ou fourni en même temps. Je vais le diffuser 8 bits à la fois en utilisant un signal d'horloge (avec un indicateur de données valides qui devient faible après que toute l'image a été traitée) et entrer / sortir les dimensions sous forme d'entiers 32 bits:
la source
Python, 226 octets
Maintenant, c'est valable!
Utilisez la bibliothèque Pillow.
Sortie:
Merci à @TuukkaX pour avoir économisé 9 octets!
Merci à @ mbomb007 pour avoir économisé 18 octets!
la source
0xFF
place de255
?0xFF
: Dfrom PIL import*
. Je pense également que celaImage.open
peut être changé justeopen
après cela.from PIL import*
, mais je ne peux pas changer leImage.open
Dyalog APL ,
2115 octetsJe suppose que la sortie peut être au même format.
Une nouvelle solution prend une matrice de valeurs [[ r , g , b , r , g , b ], [ r , g , b ,…
Explication
⎕
obtenir une entrée numérique16 16⊤
convertir en base à 2 chiffres 161+
ajouter 1, c'est-à-dire 0 → 1, 1 → 2, 15 → 1616|
module 16, c'est-à-dire 16 → 016⊥
convertir de la base 16Exemple
L'ancienne solution de 21 octets prend la matrice de [["RRGGBB", "RRGGBB"], ["RRGGBB",…
Besoins
⎕IO←0
, qui est par défaut sur de nombreux systèmes.Explication
{
…}¨
Pour chaque chaîne RVB de 6 caractères, représentez-la comme⍵
suit:n←⎕D,⎕A
affectez «0… 9A… Z» à n⍵⍳⍨
trouver les index des caractères individuels en n1+
ajoutez-en un à l'index, soit 0 → 1, 1 → 2, 15 → 1616|
module 16, soit 16 → 0n[
…]
utilisez-le pour indexer en nExemple
la source
C -
1141137066617267 octetsVoici le code (avec prise en charge du cas de test de Martin Ender (sans 60b)):
Et voici la version moins brouillée:
Compiler et exécuter avec
gcc -o color colorgolf.c && cat a.bmp | ./color > b.bmp
Ce code prend en charge les travaux avec les bitmaps . Pour convertir des
png
fichiers enbmp
, j'ai utilisé la commande suivante:convert -flatten -alpha off png.png a.bmp
Le code suppose que cet en-
bmp
tête fait 54 octets de long - dans ce cas, cela fonctionne, mais je ne suis pas sûr de ne pas casser quelque chose discrètement.C'est aussi l'arc-en-ciel:
la source
Java 142 octets
Golfé:
la source
i
deux comme paramètre et dans la boucle for, donc je changerais le paramètre en quelque chose d'autrea
. Vous pouvez également jouer au golf en retirant leint
devant duj
et en l'ajoutant auint i
. Alors comme ça:BufferedImage t(BufferedImage a){for(int i=-1,j;++i<a.getWidth();)for(j=-1;++j<a.getHeight();)a.setRGB(i,j,a.getRGB(i,j)+1118481);return a;}
. Jetez également un œil à cet article: Conseils pour jouer au golf à Java . :)R, 302 octets
Loin d'être parfait, mais voici:
Explication:
la source