-package charactermanaj.graphics.filters;\r
-\r
-/**\r
- * コントラストの計算済みテーブルを用意する.<br>\r
- * 最大で255x3あれば足りる.<br>\r
- * \r
- * @author seraphy\r
- * \r
- */\r
-public class ContrastTableFactory implements TableFactory {\r
-\r
- private float contrast = 1.f;\r
- \r
- public ContrastTableFactory() {\r
- this(1.f);\r
- }\r
- \r
- public ContrastTableFactory(float contrast) {\r
- this.contrast = contrast;\r
- }\r
- \r
- public int[][] createTable() {\r
- int[] table = new int[256];\r
- for (int level = 0; level <= 255; level++) {\r
- float f = level / 255.f;\r
- f = getContrast(f);\r
- int c = (int)(f * 256);\r
- if (c > 255) {\r
- c = 255;\r
- } else if (c < 0) {\r
- c = 0;\r
- }\r
- table[level] = c;\r
- }\r
-\r
- int[][] tables = new int[3][];\r
- for (int idx = 0; idx < 3; idx++) {\r
- tables[idx] = table;\r
- }\r
- return tables;\r
- }\r
- \r
- protected float getContrast(float f) {\r
- return (f - 0.5f) * contrast + 0.5f;\r
- }\r
- \r
-}\r
+package charactermanaj.graphics.filters;
+
+/**
+ * コントラストの計算済みテーブルを用意する.<br>
+ * 最大で255x3あれば足りる.<br>
+ *
+ * @author seraphy
+ *
+ */
+public class ContrastTableFactory implements TableFactory {
+
+ private float contrast = 1.f;
+
+ public ContrastTableFactory() {
+ this(1.f);
+ }
+
+ public ContrastTableFactory(float contrast) {
+ this.contrast = contrast;
+ }
+
+ public int[][] createTable() {
+ int[] table = new int[256];
+ for (int level = 0; level <= 255; level++) {
+ float f = level / 255.f;
+ f = getContrast(f);
+ int c = (int)(f * 256);
+ if (c > 255) {
+ c = 255;
+ } else if (c < 0) {
+ c = 0;
+ }
+ table[level] = c;
+ }
+
+ int[][] tables = new int[3][];
+ for (int idx = 0; idx < 3; idx++) {
+ tables[idx] = table;
+ }
+ return tables;
+ }
+
+ protected float getContrast(float f) {
+ return (f - 0.5f) * contrast + 0.5f;
+ }
+
+}