|
Создание скриншота с глубиной цвета 8 bit
|
|||
---|---|---|---|
#18+
Всем привет! Помогите пожалуйста разобраться как сделать восьми битный скриншот. Я могу сделать 24 и 16 битный а вот 8 битный не получается, наверное не правильно битовую маску указываю. Вот пример кода. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 14:10 |
|
Создание скриншота с глубиной цвета 8 bit
|
|||
---|---|---|---|
#18+
Обычно RGB пространство цветов заканчивается на 16 битах. Всё что ниже - индексный цвет. Тоесть цвет №1==красный .... цвет №256 == черный. Цвета рандомные или по выбору пользователя. И тут какоаз на сцене появляется выбор палитры. Начиная от стандартных VGA-256 и заканивая адаптивными палитрами которые беруться из центров кластеров исходного цветового пространства картики. Можно также 8 бит представить как RGB=3:3:2 бита но качество такой адаптации будет ужасным. Я сам пробовал. Потом еще Microsoft различает 4-х битный цвет. И 1-битный для би-тональных картинок. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 14:49 |
|
Создание скриншота с глубиной цвета 8 bit
|
|||
---|---|---|---|
#18+
mayton, Вы все правильно и интересно говорите, как это превратить в рабочий код? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 15:04 |
|
Создание скриншота с глубиной цвета 8 bit
|
|||
---|---|---|---|
#18+
Я опираюсь на свои базовые знания Windows и графики. Но в Java я никогда не использовал пакет com.sun.jna.platform.win32 Тоесть то что я написал - теория. И как правильно обращатся с этим пакетом хз. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 15:11 |
|
Создание скриншота с глубиной цвета 8 bit
|
|||
---|---|---|---|
#18+
mayton, Как превратить в знания в Java я знаю. Сможете подсказать на примере с++ например? Я так понимаю что всё дело в правильно заполнении массива RGBQUAD? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 15:42 |
|
Создание скриншота с глубиной цвета 8 bit
|
|||
---|---|---|---|
#18+
Да. 1) Создаешь 256 штук RGBQUAD. (палитра) 2) Заполняешь их любыми цветами (но желательно брать самые популярные из изсходной картинки) 3) Генеришь destination и на каждый пиксел находишь из палитры самый близкий цвет (по декартову расстоянию) или там есть более точная формула. Декартово расстояние но перед каждым цветом есть весовой коэффициент. Для зеленого он самый большой. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 16:01 |
|
Создание скриншота с глубиной цвета 8 bit
|
|||
---|---|---|---|
#18+
А зачем такой странных хардкод? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 14:12 |
|
|
start [/forum/topic.php?fid=59&msg=39950483&tid=2120825]: |
0ms |
get settings: |
26ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
166ms |
get tp. blocked users: |
2ms |
others: | 300ms |
total: | 584ms |
0 / 0 |