|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
Всем привет! Подскажите пожалуйста, правильно ли я делаю снимок экрана. Код: plaintext 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.
Этот код я подсмотрел в интернете. Вместо 16bit, в примере, было 24bit. Я поменял на 16bit. На выходе файл получается вроде как нормальный в windows он открывается и изображение выглядит правильно. Мне нужно закодировть полученное изображение в PNG. Кодировку изображение я делаю уже в JAVA. Если я кодирую BMP 24bit, то на выходе получается правильный PNG, если кодирую 16bit то на выходе получается "кривой" PNG, цвета изображения правильные, но само изображение испорченное получается. Ещё обратил внимание на то, что если DIB_PAL_COLORS заменить на DIB_RGB_COLORS, то изображение получается правильное, а цвета не правильные, всё как в синем тумане. Если код получения BMP правильный, то я буду искать ошибку на стороне JAVA, если код, который я привёл как пример, не правильный, подскажите пожалуйста где ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 09:39 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
Mandarin, BMP получается вроде как правильным, но формат BMP 16 бит на пиксель изначально кривой, потому во избежание недоразумений снимок экрана лучше делать 32bpp и затем енкодировать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 11:18 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
Изопропил, Спасибо большое за совет! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 11:57 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
Как-то автор умудрился в топик втащить примерно 3 разные темы. Просто хотел напомнить что количество бит на цвет и количество бит на канал - это разные понятия. И мне на секундочку показалось что автор их путает. Или путается в техническом задании. И кривой png - это какое-то слишком... философское или гуманитарное понятие. Это все равно что вместо "освещенность в люменах стала ниже" сказать "смеркалось". Понимаешь да? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 13:45 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
maytonИ мне на секундочку показалось что автор их путает. Ну он же сразу сказал, что он гуглопрограмист и просто плясал с бубном вокруг чужого кода. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 13:51 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
mayton, я о кривом BMP, а не PNG в коде топикстартера формируется BITMAPINFOHEADER(да и тот максимально нулями заполнен), а не BITMAPV4HEADER, позволяющий различать RGB 5-5-5 и 5-6-5 что там наделает CreateDIBSection - ХЗ ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 15:20 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
GI-GO ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 15:20 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
Изопропил mayton, я о кривом BMP, а не PNG в коде топикстартера формируется BITMAPINFOHEADER(да и тот максимально нулями заполнен), а не BITMAPV4HEADER, позволяющий различать RGB 5-5-5 и 5-6-5 что там наделает CreateDIBSection - ХЗ ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 12:00 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
kealon(Ruslan), https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader и каким образом? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 12:17 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
Изопропил, вот этим и задаётся всё авторbiBitCount Specifies the number of bits per pixel (bpp). For uncompressed formats, this value is the average number of bits per pixel. For compressed formats, this value is the implied bit depth of the uncompressed image, after the image has been decoded. biClrUsed Specifies the number of color indices in the color table that are actually used by the bitmap. See Remarks for more information. PS: это не теоретизирование, а практический опыт создания таких битмапов (15-ти и 16-ти битных) ну а то, что некоторые новые программы не могут, ну кто им доктур .... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 16:09 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
Mandarin Мне нужно закодировть полученное изображение в PNG. Кодировку изображение я делаю уже в JAVA Я PNG сохраняю, используя родной PNG-шный код . ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 05:52 |
|
Создание снимка экрана в формате BMP с глубиной цвета 16bit
|
|||
---|---|---|---|
#18+
CEMb Mandarin Мне нужно закодировть полученное изображение в PNG. Кодировку изображение я делаю уже в JAVA Я PNG сохраняю, используя родной PNG-шный код . умеет, и очень неплохо там строчек 5: в данном случае создать битмап на основе DIB-секции и дальше сохранить, указав GUID PNG-конвертера ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 14:34 |
|
|
start [/forum/topic.php?fid=57&msg=39941977&tid=2017457]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 144ms |
0 / 0 |