Loading...
Logo
Processing Forum

let's assume I have some text data I want to interprete as colors.

Let's further assume I want to put them into PImages via createImage. (This is not in the code yet)

How can I store a color there saying transparent?

Thanks!  Greetings, Chrisir  




Copy code
  1. void setup() {
  2.   size (700, 700);
  3. }
  4. void draw() {
  5.   color myColor1=  ( color (0, 255, 0) ) ;
  6.   for (int i=0; i < Baum7.length; i++) {
  7.     for (int j=0; j < Baum7[i].length(); j++) {
  8.       text ( Baum7[ j ].charAt ( i ), i*15, j*15 );
  9.       switch( Baum7[ j ].charAt ( i ) ) {
  10.       case '0':
  11.         break;
  12.       case '1':
  13.         break;
  14.       case '2':
  15.         myColor1 =  ( color (0, 255, 0) ) ;
  16.         break;
  17.       case '3':
  18.         break;
  19.       case '4':
  20.         break;
  21.       case '5':
  22.         break;
  23.       case '6':
  24.         // brown
  25.         myColor1 = ( color (234, 152, 28) ) ;
  26.         break;
  27.       case '7':
  28.         // do nothing
  29.         myColor1 =  ( color (0, 0, 255) ) ;
  30.         break;
  31.       case '8':
  32.         myColor1 = ( color (235, 30, 2) ) ;
  33.         break;
  34.       case '9':
  35.         break;
  36.       case 'A':
  37.         myColor1 = ( color (255, 0, 2) ) ;
  38.         break;
  39.       case 'B':
  40.         myColor1 = ( color (235, 30, 2) ) ;
  41.         break;
  42.       case 'C':
  43.         break;
  44.       case 'D':
  45.         break;
  46.       default:
  47.         myColor1  = ( color (255, 0, 2) ) ;
  48.         println("Missing " +
  49.           Baum7[ j ].charAt ( i )
  50.           );
  51.         break;
  52.       } // switch
  53.       stroke (myColor1);
  54.       point(i, j);
  55.       fill( myColor1 );
  56.       rect(i*2+500, j*2+300, 2, 2);
  57.     }
  58.   }
  59. } // func
  60. String [] c1=
  61. {
  62.   "777777777777777777777777777777",
  63.   "777777777777777777777777777777",
  64.   "777777777777777777777777777777",
  65.   "777777777777777777777777777777",
  66.   "777777777777777777777777777777",
  67.   "777777777777777F77777777777777",
  68.   "7777777FF777777FF7777777777777",
  69.   "7777777FFF7777FF7FF777777FFF77",
  70.   "777777F77F777F77777F7777F77FF7",
  71.   "77777F7777F7F7777777F77F7777F7",
  72.   "7777F777777F77777777F7F777777F",
  73.   "777777777777777777777F77777777",
  74.   "777777777777777777777777777777",
  75.   "777777777777777777777777777777",
  76.   "777777777777777777777777777777",
  77.   "777777777777777777777777777777",
  78.   "77777FFF7777777777777777777777",
  79.   "77777FF77777777777777777777F77",
  80.   "77777F777777777777777777777F77",
  81.   "77777F777555555555555777777F77",
  82.   "77777F777333333333333777777F77",
  83.   "77777F777777777777777777777F77",
  84.   "77777F777777777777777777777F77",
  85.   "77777F777777777777777777777F77",
  86.   "77777FFFFFFFFFFFFFFFFFFFFFFF77",
  87.   "777777777777777777777777777777",
  88.   "777777777777777777777777777777",
  89.   "777777777777777777777777777777",
  90.   "777777777777777777777777777777",
  91.   "777777777777777777777777777777",
  92. };
  93. String [] City =
  94. {
  95.   "777777777777777777777777777777",
  96.   "777777777777777777777777777777",
  97.   "777777777777777777777777777777",
  98.   "777777777777777777777777777777",
  99.   "777777777777777777777777777777",
  100.   "777777777777777777777777777777",
  101.   "777777877777777777778877777777",
  102.   "777778887777777777887788777777",
  103.   "777788888777777788778778877777",
  104.   "777888888877778877877877887777",
  105.   "777888888877887787787788787777",
  106.   "777877777888778778778877787777",
  107.   "777877777877877877887777787777",
  108.   "777877777887787788777777787777",
  109.   "777877777878778877777777787777",
  110.   "777877777877887777777777787777",
  111.   "777877777888777777777777787777",
  112.   "777877777877777777777777787777",
  113.   "777877777877777777777777787777",
  114.   "777877777877777777777777887777",
  115.   "777877777877777777777788777777",
  116.   "777877777877777777778877777777",
  117.   "777877777877777777887777777777",
  118.   "777877877877777788777777777777",
  119.   "777878887877778877777777777777",
  120.   "777878887877887777777777777777",
  121.   "777878887888777777777777777777",
  122.   "777888888877777777777777777777",
  123.   "777777777777777777777777777777",
  124.   "777777777777777777777777777777",
  125. };
  126. String [] village =
  127. {
  128.   "777778777777777777777777777777",
  129.   "777778877777777777777777777777",
  130.   "777888777777777777777777777777",
  131.   "777887777777777777777777777777",
  132.   "777888777777777777777777777777",
  133.   "777888877777777777777777777777",
  134.   "777778788777777777777777777777",
  135.   "777777888777777777777777777777",
  136.   "777777877777777777777777777777",
  137.   "777777777778888888888887777777",
  138.   "777777788788787878787888877777",
  139.   "777777788887878787878787787777",
  140.   "777777788878787878787878878777",
  141.   "777777788787878787878788787877",
  142.   "777777788878787878787878878877",
  143.   "777777788787878787878787887877",
  144.   "777777788888888888888888877877",
  145.   "777777787777777777777777877877",
  146.   "777777787777777777777777877877",
  147.   "777777787777777766666777877877",
  148.   "777777787666677767876777877877",
  149.   "777777787688677768886777877877",
  150.   "777777787688677767876777877877",
  151.   "777777787686677766666777877877",
  152.   "777777787688677777777777877877",
  153.   "777777787688677757777777878777",
  154.   "777777787688677545777777887777",
  155.   "777777788888888822888888877777",
  156.   "777777777777777727777777777777",
  157.   "777777777777777777777777777777",
  158. };
  159. String [] Dorf2  =
  160. {
  161.   "777778777777777777777777777777",
  162.   "777778877777777777777777777777",
  163.   "777888777777777777777777777777",
  164.   "777887777777777777777777777777",
  165.   "777888777777777777777777777777",
  166.   "777888877777777777777777777777",
  167.   "777778788777777777777777777777",
  168.   "777777888777777777777777777777",
  169.   "777777877777777777777777777777",
  170.   "777777777778888888888888777777",
  171.   "777777788788787878787888877777",
  172.   "777777788887878787878787787777",
  173.   "777777788878787878787878878777",
  174.   "777777788787878787878788787877",
  175.   "777777788878787878787878878877",
  176.   "777777788787878787878787887877",
  177.   "777777788888888888888888877877",
  178.   "777777787777777777777777877877",
  179.   "777777787777777777777777877877",
  180.   "777777787777777766666777877877",
  181.   "777777787666677767876777877877",
  182.   "777777787688677768886777877877",
  183.   "777777787688677767876777877877",
  184.   "777777787686677766666777877877",
  185.   "777777787688677777777777877877",
  186.   "777777787688677757777777878777",
  187.   "777777787688677545777777887777",
  188.   "777777788888888822888888877777",
  189.   "777777777777777727777777777777",
  190.   "777777777777777777777777777777",
  191. };
  192. String [] Schaf1 =
  193. {
  194.   "777777777777777777777777777777",
  195.   "777777777777777777777777777777",
  196.   "777777777777777777777777777777",
  197.   "777777777777777777777777777777",
  198.   "777777777777777777777777777777",
  199.   "777777777777777777777777777777",
  200.   "777777777777777777777777777777",
  201.   "777777777777777777777777777777",
  202.   "777777777777777777777777777777",
  203.   "777777887787777777777777777777",
  204.   "777777877778777778888777777777",
  205.   "777888888888878887777888788777",
  206.   "777878778887777787777887777877",
  207.   "777877787887777777777777777877",
  208.   "777888887777777777777777778877",
  209.   "777778887777777777777777777778",
  210.   "777777788777777777777777777777",
  211.   "777777777777777777777777777788",
  212.   "777777888777777777777777777778",
  213.   "777777877777777777777777777788",
  214.   "777777777888777777777778888877",
  215.   "777777777788877788777777877777",
  216.   "777777777778787777887888777777",
  217.   "777777777778777777777877877777",
  218.   "777777777778778777777877887777",
  219.   "777777777788878777777877788777",
  220.   "777777777777778877777877777777",
  221.   "777777777777777777777777777777",
  222.   "777777777777777777777777777777",
  223.   "777777777777777777777777777777",
  224. };
  225. String [] Schaf3 =
  226. {
  227.   "777777777777777777777777777777",
  228.   "777777777777777777777777777777",
  229.   "777777777777777777777777777777",
  230.   "777777777777777777777777777777",
  231.   "777777777777777777777777777777",
  232.   "777777777777777777777777777777",
  233.   "777777777777777777777777777777",
  234.   "777777777777777777777777777777",
  235.   "777777777777777777777777777777",
  236.   "777777777777777777777777777777",
  237.   "777777777777777F7F777777777777",
  238.   "77777777777758F8F8F87777777777",
  239.   "777777777788858F8F8F8777777777",
  240.   "77777777777888F8F8F87777777777",
  241.   "777777777777778F8F877777777777",
  242.   "777777777777778777877777777777",
  243.   "777777777777777777777777777777",
  244.   "777777777777777777777777777777",
  245.   "777777777777777777777777777777",
  246.   "777777777777777777777777777777",
  247.   "777777777777777777777777777777",
  248.   "777777777777777777777777777777",
  249.   "777777777777777777777777777777",
  250.   "777777777777777777777777777777",
  251.   "777777777777777777777777777777",
  252.   "777777777777777777777777777777",
  253.   "777777777777777777777777777777",
  254.   "777777777777777777777777777777",
  255.   "777777777777777777777777777777",
  256.   "777777777777777777777777777777",
  257. };
  258. String [] Schaf4=
  259. {
  260.   "777777777777777777777777777777",
  261.   "777777777777777777777777777777",
  262.   "777777777777777777777777777777",
  263.   "777777777777777777777777777777",
  264.   "777777777777777777777777777777",
  265.   "777777777777777777777777777777",
  266.   "777777777777777777777777777777",
  267.   "777777777777777777777777777777",
  268.   "777777777777777777777777777777",
  269.   "777777777757777777777777777777",
  270.   "777777777775877F7F777777777777",
  271.   "77777777778858F8F8F87777777777",
  272.   "7777777777888F8F8F8F8777777777",
  273.   "77777777777778F8F8F87777777777",
  274.   "777777777777778F8F8F7777777777",
  275.   "777777777777778777877777777777",
  276.   "777777777777778777877777777777",
  277.   "777777777777777777777777777777",
  278.   "777777777777777777777777777777",
  279.   "777777777777777777777777777777",
  280.   "777777777777777777777777777777",
  281.   "777777777777777777777777777777",
  282.   "777777777777777777777777777777",
  283.   "777777777777777777777777777777",
  284.   "777777777777777777777777777777",
  285.   "777777777777777777777777777777",
  286.   "777777777777777777777777777777",
  287.   "777777777777777777777777777777",
  288.   "777777777777777777777777777777",
  289.   "777777777777777777777777777777",
  290. };
  291. String [] Schafbestes5 =
  292. {
  293.   "777777777777777777777777777777",
  294.   "777777777777777777777777777777",
  295.   "777777777777777777777777777777",
  296.   "777777777777777777777777777777",
  297.   "777777777777777777777777777777",
  298.   "777777777777777777777777777777",
  299.   "777777777777777777777777777777",
  300.   "777777777777777777777777777777",
  301.   "777777777777777777777777777777",
  302.   "777777777757777777777777777777",
  303.   "777777777775877F7F777777777777",
  304.   "77777777778858F8F8F87777777777",
  305.   "7777777777888F8F8F8F8777777777",
  306.   "77777777777778F8F8F87777777777",
  307.   "777777777777778F8F8F7777777777",
  308.   "777777777777778777877777777777",
  309.   "777777777777778777877777777777",
  310.   "777777777777777777777777777777",
  311.   "777777777777777777777777777777",
  312.   "777777777777777777777777777777",
  313.   "777777777777777777777777777777",
  314.   "777777777777777777777777777777",
  315.   "777777777777777777777777777777",
  316.   "777777777777777777777777777777",
  317.   "777777777777777777777777777777",
  318.   "777777777777777777777777777777",
  319.   "777777777777777777777777777777",
  320.   "777777777777777777777777777777",
  321.   "777777777777777777777777777777",
  322.   "777777777777777777777777777777",
  323. };
  324. String [] Scharf7 =
  325. {
  326.   "777777777777777777777777777777",
  327.   "777777777777777777777777777777",
  328.   "777777777777777777777777777777",
  329.   "777777777777777777777777777777",
  330.   "777777777777777777777777777777",
  331.   "777777777777777777777777777777",
  332.   "777777777777777777777777777777",
  333.   "777777777777777777777777777777",
  334.   "777777777777777777777777777777",
  335.   "777777777757777777777777777777",
  336.   "777777777775877F7F7F7777777777",
  337.   "77777777778858F8F8F8F887777777",
  338.   "7777777777888F8F8F8F8777777777",
  339.   "77777777777778F8F8F8F777777777",
  340.   "777777777777778F8F8F7777777777",
  341.   "777777777777778777877777777777",
  342.   "777777777777778777877777777777",
  343.   "777777777777777777777777777777",
  344.   "777777777777777777777777777777",
  345.   "777777777777777777777777777777",
  346.   "777777777777777777777777777777",
  347.   "777777777777777777777777777777",
  348.   "777777777777777777777777777777",
  349.   "777777777777777777777777777777",
  350.   "777777777777777777777777777777",
  351.   "777777777777777777777777777777",
  352.   "777777777777777777777777777777",
  353.   "777777777777777777777777777777",
  354.   "777777777777777777777777777777",
  355.   "777777777777777777777777777777",
  356. };
  357. String [] Schaf8 =
  358. {
  359.   "777777777777777777777777777777",
  360.   "777777777777777777777777777777",
  361.   "777777777777777777777777777777",
  362.   "777777777777777777777777777777",
  363.   "777777777777777777777777777777",
  364.   "777777777777777777777777777777",
  365.   "777777777777777777777777777777",
  366.   "777777777777777777777777777777",
  367.   "777777777777777777777777777777",
  368.   "777777777777777777777777777777",
  369.   "777777777777777777777777777777",
  370.   "777777777777777777777777777777",
  371.   "7777777777778F778F877F87777777",
  372.   "777777777587788F777F8778F77777",
  373.   "777777880557F7F77F77F77F877777",
  374.   "777778777555777F77F77F77F87777",
  375.   "77777884775577F77F77F77F778777",
  376.   "7777777788878F7F77F77F77877777",
  377.   "7777777777787777F77F777F777777",
  378.   "77777777777888F777F7F787777777",
  379.   "777777777777788888888877777777",
  380.   "777777777777787877787877777777",
  381.   "777777777777787777777877777777",
  382.   "777777777777777777777777777777",
  383.   "777777777777777777777777777777",
  384.   "777777777777777777777777777777",
  385.   "777777777777777777777777777777",
  386.   "777777777777777777777777777777",
  387.   "777777777777777777777777777777",
  388.   "777777777777777777777777777777",
  389. };
  390. String [] zweiSchafeUebereinander=
  391. {
  392.   "777777777777788877877777777777",
  393.   "777777777887877888888787777777",
  394.   "777777778578777787778888777777",
  395.   "777777817557777787778777877777",
  396.   "777778777757777777777778877777",
  397.   "777777488877877777777777887777",
  398.   "777777777787887877877877877777",
  399.   "777777777778888888788888877777",
  400.   "777777777777878777777787877777",
  401.   "777777777777877777777777877777",
  402.   "777777777777777777777777777777",
  403.   "777777777777777777777777777777",
  404.   "77777777777777778F877F87777777",
  405.   "7777777775877F8F777F8778F77777",
  406.   "777777880557F7F7FF77F7FF877877",
  407.   "777778777555777F77F77F77F88777",
  408.   "77777784775577F7FF7FF77F777777",
  409.   "7777777788878F7F77F77F77877777",
  410.   "7777777777787777FF7F777F777777",
  411.   "77777777777888F7F7F7F787777777",
  412.   "777777777777788888888877777777",
  413.   "777777777777787877787877777777",
  414.   "777777777777787777777877777777",
  415.   "777777777777777777777777777777",
  416.   "777777777777777777777777777777",
  417.   "777777777777777777777777777777",
  418.   "777777777777777777777777777777",
  419.   "777777777777777777777777777777",
  420.   "777777777777777777777777777777",
  421.   "777777777777777777777777777777",
  422. };
  423. String [] zweiSchafeUebereinander2 =
  424. {
  425.   "777777777777788877877777777777",
  426.   "777777777887877888888787777777",
  427.   "777777778578777787778888777777",
  428.   "777777817557777787778777877777",
  429.   "777778777757777777777778877777",
  430.   "777777488877877777777777887777",
  431.   "777777777787887877877877877777",
  432.   "777777777778888888788888877777",
  433.   "777777777777878777777787877777",
  434.   "777777777777877777777777877777",
  435.   "777777777777777777777777777777",
  436.   "777777777777777777777777777777",
  437.   "77777777777777778F877F87777777",
  438.   "7777777775877F8F777F8778F77777",
  439.   "777777880557F7F7FF77F7FF877877",
  440.   "777778777555777F77F77F77F88777",
  441.   "77777784775577F7FF7FF77F777777",
  442.   "7777777788878F7F77F77F77877777",
  443.   "7777777777787777FF7F777F777777",
  444.   "77777777777888F7F7F7F787777777",
  445.   "777777777777788888888877777777",
  446.   "777777777777787877787877777777",
  447.   "777777777777787777777877777777",
  448.   "777777777777777777777777777777",
  449.   "777777777777777777777777777777",
  450.   "777777777777777777777777777777",
  451.   "777777777777777777777777777777",
  452.   "777777777777777777777777777777",
  453.   "777777777777777777777777777777",
  454.   "777777777777777777777777777777",
  455. };
  456. String [] Schafe9 =
  457. {
  458.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  459.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  460.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  461.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  462.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  463.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  464.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  465.   "FFFFFFF77FFFFFFFFFFFFFFFFFFFFF",
  466.   "FFFFFFF7F7F7777FFF7777FFFFFFFF",
  467.   "FFFFFFF77F7FFF7F77FFFF7FFFFFFF",
  468.   "FFFFFFF7FF7FFFF7FFFFFFFF7777FF",
  469.   "FFFFFF7117FFFFF7FFFFFF77FFFF7F",
  470.   "FF7777F17FFFFFFFFFFFFF7FFFFF7F",
  471.   "F7FFFFFFFFFFFFFFFFFFFFFFFFF7FF",
  472.   "F7FFFFFFFFFFFFFFFFFFFFFFF77FFF",
  473.   "F7FFFFF47FFFFFFFFFFFFFFFFF7FFF",
  474.   "FF7FFFF47FFFFFFFFFFFFFFFFFF7FF",
  475.   "FFF77747FFFFFFFFFFFFFFFFFFFF7F",
  476.   "FFFFFFFFF77FFFFFFFFFFFFFFFFF7F",
  477.   "FFFFFFFFF7FFFFFF7FFFFFF7FFF77F",
  478.   "FFFFFFFFF7FFFFFF7FFFFFF7777FFF",
  479.   "FFFFFFFFF7FFFF777FFFFF77FFFFFF",
  480.   "FFFFFFFFF77777FFF7777F77FFFFFF",
  481.   "FFFFFFFFFFF77FFFFFFFFF77FFFFFF",
  482.   "FFFFFFFFFFF77FFFFFFFFF77FFFFFF",
  483.   "FFFFFFFFFFF77FFFFFFFFF77FFFFFF",
  484.   "FFFFFFFFFFF77FFFFFFFFF77FFFFFF",
  485.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  486.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  487.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  488. };
  489. String []  Ziegenbock =
  490. {
  491.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  492.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  493.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  494.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  495.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  496.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  497.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  498.   "FFFFFFF77FFFFFFFFFFFFFFFFFFFFF",
  499.   "FFFFFFF7F7F7777FFF7777FFFFFFFF",
  500.   "FFFFFFF77F7FFF7F77FFFF7FFFFFFF",
  501.   "FFFFFFF7FF788887FFFFFFFF7777FF",
  502.   "FFFFFF7117888888FFFFFF77FFFF7F",
  503.   "FF7777F17F887F888FFFFF7FFFFF7F",
  504.   "F7FFFFFFFFFFFFF88FFFFFFFFFF7FF",
  505.   "F7FFFFFFFFFFFFF88FFFFFFFF77FFF",
  506.   "F7FFFFF77FFFFF887FFFFFFFFF7FFF",
  507.   "FF7FFFF87FFF888FFFFFFFFFFFF7FF",
  508.   "FFF77787FFFFFFFFFFFFFFFFFFFF7F",
  509.   "FFFFFFFFF77FFFFFFFFFFFFFFFFF7F",
  510.   "FFFFFFFFF7FFFFFF7FFFFFF7FFF77F",
  511.   "FFFFFFFFF7FFFFFF7FFFFFF7777FFF",
  512.   "FFFFFFFFF7FFFF777FFFFF77FFFFFF",
  513.   "FFFFFFFFF77777FFF7777F77FFFFFF",
  514.   "FFFFFFFFFFF77FFFFFFFFF77FFFFFF",
  515.   "FFFFFFFFFFF77FFFFFFFFF77FFFFFF",
  516.   "FFFFFFFFFFF77FFFFFFFFF77FFFFFF",
  517.   "FFFFFFFFFFF77FFFFFFFFF77FFFFFF",
  518.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  519.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  520.   "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
  521. };
  522. String []  baum =
  523. {
  524.   "777777777777777777777777777777",
  525.   "777777777777777777777777777777",
  526.   "777777777777777777777777777777",
  527.   "777777777777777777777777777777",
  528.   "777777777777777777777777777777",
  529.   "777777777777777777777777777777",
  530.   "777777777777777777777777777777",
  531.   "777777777777227722777777777777",
  532.   "777777772272222722722777777777",
  533.   "777777722222222222222777777777",
  534.   "777777722222222222222277777777",
  535.   "777777722222222222222277777777",
  536.   "777777772222222222222777777777",
  537.   "777777772222222222222777777777",
  538.   "777777722222222222222277777777",
  539.   "777777722222222222272277777777",
  540.   "777777772272222227777777777777",
  541.   "777777772777766776777777777777",
  542.   "777777777777766667777777777777",
  543.   "777777777777766727777777777777",
  544.   "777777777777766777777777777777",
  545.   "777777777777766777777777777777",
  546.   "777777777777666677777777777777",
  547.   "777777777776666667777777777777",
  548.   "777777777777777777777777777777",
  549.   "777777777777777777777777777777",
  550.   "777777777777777777777777777777",
  551.   "777777777777777777777777777777",
  552.   "777777777777777777777777777777",
  553.   "777777777777777777777777777777",
  554. };
  555. String [] Baum3 =
  556. {
  557.   "777777777777777777777777777777",
  558.   "777777777777777777777777777777",
  559.   "777777777777777777777777777777",
  560.   "777777777777777777777777777777",
  561.   "777777777777777777777777777777",
  562.   "777777777777772277777777777777",
  563.   "777777777777722227277777777777",
  564.   "777777777772222222227777777777",
  565.   "777777772272222222222777777777",
  566.   "777777722222222222222777777777",
  567.   "777777722222222222222277777777",
  568.   "777777722222222222222277777777",
  569.   "777777772222222222222777777777",
  570.   "777777772222222222222777777777",
  571.   "777777722222222222222277777777",
  572.   "777777772222222222272277777777",
  573.   "777777777272222227777777777777",
  574.   "777777777777766776777777777777",
  575.   "777777777777766667777777777777",
  576.   "777777777777766727777777777777",
  577.   "777777777777766777777777777777",
  578.   "777777777777766777777777777777",
  579.   "777777777777666677777777777777",
  580.   "777777777776666667777777777777",
  581.   "777777777777777777777777777777",
  582.   "777777777777777777777777777777",
  583.   "777777777777777777777777777777",
  584.   "777777777777777777777777777777",
  585.   "777777777777777777777777777777",
  586.   "777777777777777777777777777777",
  587. };
  588. String [] BAUM4  = 
  589. {
  590.   "777777777777777777777777777777",
  591.   "777777777777777777777777777777",
  592.   "777777777777777777777777777777",
  593.   "777777777777777777777777777777",
  594.   "777777777777778887777777777777",
  595.   "777777777777782287887777777777",
  596.   "777777777778822228287777777777",
  597.   "7777777788822222222A8777777777",
  598.   "7777778822822222A2222877777777",
  599.   "777777822222A22222222877777777",
  600.   "77777782A222222222A22287777777",
  601.   "777777822222222A22222287777777",
  602.   "777777782222222222222877777777",
  603.   "7777777822A2222222222877777777",
  604.   "77777782222222A22222A287777777",
  605.   "77777788222222222A282287777777",
  606.   "777777788282222228878877777777",
  607.   "777777778878866886777777777777",
  608.   "777777777777766667777777777777",
  609.   "7777777777777667A7777777777777",
  610.   "777777777777766777777777777777",
  611.   "777777777777766777777777777777",
  612.   "777777777777666677777777777777",
  613.   "777777777776666667777777777777",
  614.   "777777777777777777777777777777",
  615.   "777777777777777777777777777777",
  616.   "777777777777777777777777777777",
  617.   "777777777777777777777777777777",
  618.   "777777777777777777777777777777",
  619.   "777777777777777777777777777777",
  620. };
  621. String []  Baum7 =
  622. {
  623.   "777777777777777777777777777777",
  624.   "777777777777777777777777777777",
  625.   "777777777777777777777777777777",
  626.   "777777777777777777777777777777",
  627.   "777777777777778887777777777777",
  628.   "777777777777782287887777777777",
  629.   "777777777778822228287777777777",
  630.   "7777777788822222222A8777777777",
  631.   "7777778822822222A2222877777777",
  632.   "777777822222A22222222877777777",
  633.   "77777782A222222222A22287777777",
  634.   "777777822222222A22222287777777",
  635.   "777777782222222222222877777777",
  636.   "7777777822A2222222222877777777",
  637.   "77777782222222A22222A287777777",
  638.   "77777788222222222A282287777777",
  639.   "777777788282222228878877777777",
  640.   "777777778878866886777777777777",
  641.   "777777777777766667777777777777",
  642.   "7777777777777667A7777777777777",
  643.   "777777777777766777777777777777",
  644.   "777777777777766777777777777777",
  645.   "777777777777666677777777777777",
  646.   "777777777776666667777777777777",
  647.   "777777777777777777777777777777",
  648.   "777777777777777777777777777777",
  649.   "777777777777777777777777777777",
  650.   "777777777777777777777777777777",
  651.   "777777777777777777777777777777",
  652.   "777777777777777777777777777777",
  653. };
  654. String [] Sonne =
  655. {
  656.   "4444444444C4444444444444444444",
  657.   "4C4444C444CC44444444444C444C44",
  658.   "444444444444444444444444444444",
  659.   "4C4444444444C44444C44444444444",
  660.   "CC444444444444C4C4444CC4444C44",
  661.   "4C44444CCCC4CC44444C44C4C44444",
  662.   "4C4C4CCCC4C4CCCC4CCCCC4CCCC4C4",
  663.   "444CCCC4C4CCCCCC44CC4C44CC44CC",
  664.   "44C4CCCCCCCCCC4CCCCCCCCC4CC4C4",
  665.   "4CCCCC44C4C44CCCC44CCC44CCC444",
  666.   "C4CCC4CCCC4C44CC4CCC4CCC444CC4",
  667.   "44CCCC4C4CCCCCC4CC4C4CCCC4C4C4",
  668.   "4C44C4CCC4C4CCCCCCCCCC4CC44444",
  669.   "44C4C4CCCCCCEEEEEECCC4C4CCCC4C",
  670.   "4C4CCC4CCCEEEEEEEEEECCCC4CC44C",
  671.   "44C44CCCEEEEEEEEEEEEECCCCC4CC4",
  672.   "444CC4CEEEEEEEEEEEEEEECCCCCCC4",
  673.   "44CC4CEEEEEEEEEEEEEEEEECC4C444",
  674.   "4C4C8EEEE8EEEEEEEEEEE88ECCCCCC",
  675.   "4CC888EE888EE88EE8EEE88ECCCCCC",
  676.   "CC88888E8888888E888EE88888CCCC",
  677.   "88888888888888888888E888888888",
  678.   "888888888888888888888888888888",
  679.   "888888888888888888888888888888",
  680.   "888888888888888888888888888888",
  681.   "777777777777777777777777777777",
  682.   "777777777777777777777777777777",
  683.   "777777777777777777777777777777",
  684.   "777777777777777777777777777777",
  685.   "777777777777777777777777777777",
  686. };

Replies(7)

I believe you're trying to represent a small restrict set of colors with one 16-bit Unicode char, right?
However, you also wish to throw in some transparency variations among them, don't you?

Since we have all of the Unicode characters at our dispose,
we have to find similar groups w/ small variation among them.

Thinking it over, vowels generally have many diacritics which can be used on them.
With 5 capital vowels + 5 non-capital vowels, we have a total of 10 different colors.

You can have each type of diacritic representing a level of opacity:
á, à, â, ã, ä.  <- each one is the same color w/ different alphaness.  
a w/o any diacritics would be total opaque.

Well, that's my idea!  



hello,

thanks.

Actually I have some old data I want to use.
The old data has 16 colors afaik and one for
transparent.

I don't intend to write new data that way....

I just don't know how to say

Copy code
  1. PImage.set(transparent);

How can I store a color in PImage saying transparent?

Or is transparent the default?

Thanks!

Greetings, Chrisir      



When color() or a web color such as #B0A0C0 are used,
They auto-include a 100% opaque value.

That is, #B0A0C0 actually means -> 0x FFB0A0C0; after parsed by the pre-processor.

As you see, the easiest way to fully control transparency would be using a real hexadecimal literal w/ 0x.

Now, if you wanna modify the alpha byte w/o modifying its color,
you'd need to use a technique called masking.

For that, you have to read the color of a pixel and mold the far-left 8 bits from it.

I'm not good on it; but here's an attempt sample:
Copy code
    background(#B0A0C0);
    
    PImage bg = get();
    
    color pixel = bg.get(10, 10);
    println( hex(pixel) );
    
    short opacity = 150;   // alpha value to be used
    
    pixel &= 0x00FFFFFF;   // resets alpha value
    println( hex(pixel) );
    
    pixel |= opacity<<030; // places desired new alpha value
    println( hex(pixel) );
    
    bg.set(10, 10, pixel); // same color w/ different opacity
    
    exit();
    
P.S.: Seems like get() & set() completely ignore the alpha byte received/passed.
It is always 0xFF!  

Here's the proof:

final short x = 20, y = 10, opacity = 150;
background(#B0A0C0);
PImage bg = get();

println( hex(bg.get(x, y)) );
bg.set( x, y, bg.get(x, y) & 0x00FFFFFF | opacity<<030 );
println( hex(bg.get(x, y)) );

exit();


I guess I was successful while using pixels[] instead of get() & set().
Check it out:
Copy code
    /**
     * Change Alpha Pixel (v3.3)
     * by GoToLoop(2013/Feb)
     * 
     * http://forum.processing.org/topic/have-pimages-via-createimage-with-transparent-pixel
     */
    
    final short x = 20, y = 10, opacity = 0200;
    final color alphaMask = opacity<<030 | 0xFFFFFF;
    
    background(#E7A0C5);
    
    final int pos = width*y + x;
    println(pos);
    
    loadPixels();
    
    println( hex(pixels[pos]) );
    pixels[pos] &= alphaMask;
    println( hex(pixels[pos]) );
    
    updatePixels();
    
    exit();
    

Example above is bugged!  
It only works when previous pixel's alpha is already 0xFF (100% opaque).

For it to work at any alpha value, 1st we have to zero that from pixel;
only then we can apply the Or mask:
Copy code
    /**
     * Change Alpha Pixel (v3.8)
     * by GoToLoop(2013/Feb)
     * 
     * http://forum.processing.org/topic/have-pimages-via-createimage-with-transparent-pixel
     */
    
    final short x = 20, y = 10, opacity = 0200;
    final color alphaMask = opacity<<030;
    
    background(#E7A0C5);
    PImage bg = get();
    
    final int pos = bg.width*y + x;
    println(pos);
    
    bg.loadPixels();
    println( hex(bg.pixels[pos]) );
    
    // resets alpha then applies an Or mask:
    bg.pixels[pos] = bg.pixels[pos] & 0xFFFFFF | alphaMask;
    
    bg.updatePixels();
    
    bg.loadPixels();  // reloads for alpha value change proof
    println( hex(bg.pixels[pos]) ); // reads pixel color via pixels[] (Correct Result!)
    println( hex(bg.get(x, y)) );   // reads pixel color via get() (Wrong Result!!!)
    
    exit();
    

The easiest way to do this is to create a 'color palette' - an array of 16 integers to store the colour values, define which palette index is to be treated as the transparent colour and set the alpha for that colour to zero.

To get the image use createGraphics to create the PGraphics of the correct size. Then loop through the string data and convert each character into a palette index (0-15) then set the pixel to that matching palette colour.

All this can be done in setup before which leaves the draw method free to just display them.

This is the approach I took in the code below (I have not included the string data because there is no need) and it produced the image on the right. I may have got some of the colours wrong when crerating the palette but I will leave that for you to solve.

Copy code
  1. int[] colorPalette = new int[16];
  2. String pchar = "0123456789ABCDEF";
  3. ArrayList<PGraphics> imgs = new ArrayList<PGraphics>();

  4. void createPalette(int alphaColor) {
  5.   colorPalette = new int[16];
  6.   for (int i = 0; i < colorPalette.length; i++) {
  7.     switch(i) {
  8.     case 0:
  9.     case 1:
  10.       colorPalette[i] = color (0, 255, 0);
  11.       break;
  12.     case 2:
  13.     case 3:
  14.     case 4:
  15.     case 5:
  16.       colorPalette[i] = color (0, 255, 0) ;
  17.       break;
  18.     case 6:
  19.       // brown
  20.       colorPalette[i] = color (234, 152, 28);
  21.       break;
  22.     case 7:
  23.       colorPalette[i] = color (0, 0, 255);
  24.       break;
  25.     case 8:
  26.       colorPalette[i] = color (235, 30, 2) ;
  27.       break;
  28.     case 9:
  29.       colorPalette[i] = color (255, 0, 2);
  30.       break;
  31.     case 10:
  32.       colorPalette[i] = color (255, 30, 2);
  33.       break;
  34.     case 11:
  35.       colorPalette[i] = color (235, 30, 2);
  36.       break;
  37.     case 12:
  38.     case 13:
  39.       colorPalette[i] = color (0, 255, 0);
  40.       break;
  41.     case 14:
  42.       colorPalette[i] = color (0, 255, 0);
  43.       break;
  44.     case 15:
  45.     default:
  46.       colorPalette[i] = color (255, 0, 2);
  47.       break;
  48.     }
  49.     // Make this one transparent
  50.     colorPalette[alphaColor] &= 0x00ffffff;
  51.   }
  52. }

  53. void makePicture(String[] name, int[] palette) {
  54.   int rows = name.length;
  55.   int cols = name[0].length(); // should all be the same length
  56.   int nbrPixels = rows * cols;
  57.   PGraphics img = createGraphics(cols, rows);
  58.   img.beginDraw();
  59.   img.loadPixels();
  60.   int p = 0;
  61.   for (int i=0; i < rows; i++) {
  62.     for (int j=0; j < cols; j++) {
  63.       int idx = pchar.indexOf(name[i].charAt(j));
  64.       println(idx);
  65.       img.pixels[p] = palette[idx];
  66.       p++;
  67.     }
  68.   }
  69.   img.updatePixels();
  70.   img.endDraw();
  71.   imgs.add(img);
  72. }

  73. void setup() {
  74.   size (700, 700);
  75.   createPalette(7);
  76.   makePicture(c1, colorPalette);
  77.   makePicture(City, colorPalette);
  78.   makePicture(village, colorPalette);
  79.   makePicture(Dorf2, colorPalette);
  80.   makePicture(Schaf1, colorPalette);
  81.   makePicture(Schaf3, colorPalette);
  82.   makePicture(Schaf4, colorPalette);
  83.   makePicture(Schafbestes5, colorPalette);
  84.   makePicture(Scharf7, colorPalette);
  85.   makePicture(Schaf8, colorPalette);
  86.   makePicture(zweiSchafeUebereinander, colorPalette);
  87.   makePicture(zweiSchafeUebereinander2, colorPalette);
  88.   makePicture(Ziegenbock, colorPalette);
  89.   makePicture(baum, colorPalette);
  90.   makePicture(Baum3, colorPalette);
  91.   makePicture(BAUM4, colorPalette);
  92.   makePicture(Baum7, colorPalette);
  93.   makePicture(Sonne, colorPalette);
  94. }

  95. void draw() {
  96.   background(240, 240, 200);
  97.   for (int i = 0; i < imgs.size(); i++) {
  98.     int x = 20 + (i % 5) * 40;
  99.     int y = 20 + 40 * (i /5);
  100.     image(imgs.get(i), x, y);
  101.   }
  102. }




you guys are just great!

Thank you both so much for that.

It would have taken me ages to figure that out.