AdjustColor.hx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. class AdjustColor extends SampleApp {
  2. var hue = 0.;
  3. var sat = 0.;
  4. var bright = 0.;
  5. var contrast = 0.;
  6. var bmps : Array<h2d.Bitmap>;
  7. override function init() {
  8. super.init();
  9. engine.backgroundColor = 0x404040;
  10. bmps = [];
  11. for( i in 0...4 ) {
  12. var gradient = new hxd.BitmapData(256, 256);
  13. var red = (i + 1) & 1;
  14. var green = ((i + 1) >> 1) & 1;
  15. var blue = (i + 1) >> 2;
  16. for( x in 0...gradient.width )
  17. for( y in 0...gradient.height )
  18. gradient.setPixel(x,y, 0xFF000000 | ((x << 16) * red) | ((y << 8) * green) | (((x + y) >> 1) * blue));
  19. var bmp = new h2d.Bitmap(h2d.Tile.fromBitmap(gradient), s2d);
  20. bmp.x = 50 + (i&1) * 270;
  21. bmp.y = 100 + (i >> 1) * 270;
  22. bmps.push(bmp);
  23. }
  24. addSlider("Hue", function() return hue, function(s) hue = s, -180, 180);
  25. addSlider("Saturation", function() return sat, function(s) sat = s, -100, 100);
  26. addSlider("Brightness", function() return bright, function(s) bright = s, -100, 100);
  27. addSlider("Contrast", function() return contrast, function(s) contrast = s, -100, 100);
  28. }
  29. override function update(dt:Float) {
  30. for( b in bmps )
  31. b.adjustColor({ saturation : sat / 100, lightness : bright / 100, hue : hue * Math.PI / 180, contrast : contrast / 100 });
  32. }
  33. public static function main() {
  34. new AdjustColor();
  35. }
  36. }