Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: CL | DM;

Вниз

Узнать ширину и высоту картинки по её размеру   Найти похожие ветки 

 
Yegorchic ©   (2006-05-04 18:56) [0]

Задача такая: "Узнать ширину и высоту монохромной картинки (BMP) размером 300kb."

Такая задача решаема?


 
Kerk ©   (2006-05-04 18:58) [1]

В общем случае - нет.


 
McSimm ©   (2006-05-04 18:58) [2]

в общем случае нет, т.к. решений может быть несколько.
возможны частные случаи, когда решение единственное


 
Yegorchic ©   (2006-05-04 19:00) [3]

Учительница по информатике на контрольной дала такое задание. Я сказал что решить это нельзя. Т.е. прав я или она?


 
McSimm ©   (2006-05-04 19:07) [4]


> Учительница по информатике на контрольной дала такое задание.
>  Я сказал что решить это нельзя. Т.е. прав я или она?

А она сказала, что можно ?
Может условие не точно воспроизвел ?


 
API ©   (2006-05-04 19:10) [5]

Т.е. прав я или она?

Ни Вы, ни она.

На Вашем бы месте я бы просто нашел (конечное) множество пар целых чисел, произведение которых дает 300 КБ (минус заголовок и палитра).

P.S. Если это BMP, то изобретать ничего не нужно. Размер в 300 КБ в условии задачи - для замыливания глаз. В заголовке хранится информация о высоте и ширине.


 
Desdechado ©   (2006-05-04 19:10) [6]

поскольку возможно много ответов, то права она


 
McSimm ©   (2006-05-04 19:10) [7]

300Kb = 307200b
307200-66(header) = 307134 (палитры вроде не должно быть в монохромном?)

2*153567
6*51189
18*17063
и т.д.


 
oldman ©   (2006-05-04 19:12) [8]

Срочно читаем доку по заголовкам файлов.
Если вдруг находим "формат заголовка bmp - байты N1 и N2 - размеры картинки", значит можно...
Если нет - то нет...
Причем, заметь - от размера файла не зависит!!! :)))

Но уж читать - сам, сам, сам...


 
McSimm ©   (2006-05-04 19:14) [9]


> P.S. Если это BMP, то изобретать ничего не нужно. Размер
> в 300 КБ в условии задачи - для замыливания глаз. В заголовке
> хранится информация о высоте и ширине.

узнать высоту и ширину имеющегося файла bmp и узнать высоту и ширину bmp, если известно, что размер файла 300Kb - разные задачи. Зависит от формулровки.


> поскольку возможно много ответов, то права она

раз возможно много равноценных ответов, значит узнать размеры картинки нельзя.


 
Yegorchic ©   (2006-05-04 19:15) [10]


> А она сказала, что можно ?


Да.


> Может условие не точно воспроизвел ?


Да вроде точно... хотя нет, было не BMP, а "растровое". А так всё точно верно.


> На Вашем бы месте я бы просто нашел (конечное) множество
> пар целых чисел, произведение которых дает 300 КБ (минус
> заголовок и палитра).


Да, но она давала какую-то формулу (щас не могу её написать, я тогда болел), по которой высчитывался этот самый размер.
Но посмотрев ту тему в тетрадках одноклассников, формулы я никакой не нашёл, но нашёл пример, в котором высчитывался размер картинки по её ширине и высоте. Да, это можно сделать, но обратное же нельзя? Может она всё-таки что-то напутала?


 
McSimm ©   (2006-05-04 19:16) [11]


> Да, это можно сделать, но обратное же нельзя? Может она
> всё-таки что-то напутала?

Я обычно никогда не боялся обсуждать это с самим преподавателем.


 
oldman ©   (2006-05-04 19:16) [12]

Ради примера:
заголовок PCX:
char manuf;          всегда 10 для paintBrush
char hard;            инфа о версии
char encod;          групповое кодирование (=1)
char bit px;           бит на точку
int x1;                  вот они и начались, размеры!
int y1;
int x2;
int y2;                  а вот они закончились!!!
...


 
McSimm ©   (2006-05-04 19:17) [13]

Если известно только, что растровое, то размера файла точно недостаточно.
Размер заголовка и хотя бы одна из величин еще нужны


 
Yegorchic ©   (2006-05-04 19:45) [14]


> Я обычно никогда не боялся обсуждать это с самим преподавателем.


Она у нас учитель не совсем постоянный, поэтому на перемене найти её я не могу. Я в то время когда я писал контрольную, она вела другой урок, поэтому убсуждать она ничего, конечно же не стала. А так она завтра придёт, и я собираюсь у неё спросить всё...


> Если известно только, что растровое, то размера файла точно
> недостаточно.
> Размер заголовка и хотя бы одна из величин еще нужны


Но даже есть не учитывать все эти заголовки, то всё равно нельзя же решить эту задачу...


 
Хозяин   (2006-05-04 19:49) [15]

Задача такая: "Узнать ширину и высоту монохромной картинки (растровое) размером 300kb."

Придумать свой формат можно?
;)


 
oldman ©   (2006-05-04 20:08) [16]


> Yegorchic ©   (04.05.06 19:45) [14]
> Но даже есть не учитывать все эти заголовки, то всё равно
> нельзя же решить эту задачу...


Ага...
Наводишь мышку на .bmp и в хинте читаешь: "файл bmp, размер NxM, L цветов"
Блин, откуда он их берет?


 
Yegorchic ©   (2006-05-04 20:12) [17]


> Блин, откуда он их берет?


Да нет... Вы не поняли, я не про bmp же говорю.

Я имею ввиду то, что такую задачу никак нельзя решить: "Узнать ширину и высоту монохромной картинки (растровой) размером 300kb." (чуть-чуть отличается от [0])


 
oldman ©   (2006-05-04 20:15) [18]


> Yegorchic ©   (04.05.06 20:12) [17]
> Я имею ввиду то, что такую задачу никак нельзя решить: "Узнать
> ширину и высоту монохромной картинки (растровой) размером
> 300kb." (чуть-чуть отличается от [0])


не зная типа картинки - нельзя!


 
Yegorchic ©   (2006-05-04 20:17) [19]


> не зная типа картинки - нельзя!


Всё! Это мне и нужно было!

Всем спасибо!


 
oldman ©   (2006-05-04 20:19) [20]


> Yegorchic ©   (04.05.06 20:17) [19]


Но...
мы же можем проанализировать заголовок...


 
Хозяин   (2006-05-04 20:21) [21]

oldman ©   (04.05.06 20:19) [20]

Если он есть
;)


 
oldman ©   (2006-05-04 20:29) [22]


> Хозяин   (04.05.06 20:21) [21]
> oldman ©   (04.05.06 20:19) [20]
>
> Если он есть


Подскажи хоть один растровый граф.формат без заголовка :)))
Система его как распознает, можно спросить?


 
Хозяин   (2006-05-04 20:34) [23]

Вот сейчас придумаю растровый граф. формат, напишу прибампас для Системы, и будет имено то, что Вы хотите.
;)
Ну конечно он будет не такой универсальный как с заголовком.


 
ЛшдлуттнСфе   (2006-05-04 20:35) [24]

Имхо, речь не о заголовке. Не забывайте - урок информатики, какие, нафиг заголовки?
теоретический растровый монохромный файл - прямоугольник икс на игрек с белыми и черными точками. Имея икс и игрек можно посчитать площадь точек (размер файла). Но это необратимое кодирование. Равносильный вопрос на языке геометрии: как, имея площадь прямоугольника, определить его ширину и высоту? Никак, за исключением частных случаев.


 
Yegorchic ©   (2006-05-04 20:51) [25]


> Но...
> мы же можем проанализировать заголовок...


Прочитайте [14]:


> Но даже есть не учитывать все эти заголовки, то всё равно
> нельзя же решить эту задачу...



> ЛшдлуттнСфе   (04.05.06 20:35) [24]


Вот. Это я и хотел сказать, и вроде сказал в [10].


 
ferr ©   (2006-05-04 21:02) [26]


> Равносильный вопрос на языке геометрии: как, имея
> площадь прямоугольника, определить его ширину и
> высоту? Никак, за исключением частных случаев.

частный случай? длина прямоугольника не дискретна


 
oldman ©   (2006-05-04 21:07) [27]


> Yegorchic ©   (04.05.06 20:51) [25]
>
> > Но...
> > мы же можем проанализировать заголовок...
>
>
> Прочитайте [14]:


Прочитал.
Мы таки можем проанализировать заголовок...
Конечно, если мы знаем известные форматы заголовков.


 
Zeqfreed ©   (2006-05-04 21:09) [28]

[27] oldman ©   (04.05.06 21:07)
Да нет никаких заголовков. Raw data.


 
Yegorchic ©   (2006-05-04 21:14) [29]


> oldman ©   (04.05.06 21:07) [27]


Зачем анализировать? Я же там написал "если не учитывать все эти заголовки"... не учитывать... то и анализировать не надо...


 
oldman ©   (2006-05-04 21:18) [30]


> Yegorchic ©   (04.05.06 21:14) [29]
>
> > oldman ©   (04.05.06 21:07) [27]
>
>
> Зачем анализировать? Я же там написал "если не учитывать
> все эти заголовки"... не учитывать... то и анализировать
> не надо...


набей морду преподу... фигня какая-то... как это "не учитывать"? растровых форматов много. некоторые из них кодированы хитро...


 
Yegorchic ©   (2006-05-04 21:21) [31]

Читайте [24] - от меня требовали именно это.


 
Zeqfreed ©   (2006-05-04 21:23) [32]

[30] oldman ©   (04.05.06 21:18)
Ты (надеюсь, можно на ты) пытаешься перенести учебную задачу в реальные условия. В задаче ничего не говорится ни про какие форматы. Raw data, повторюсь. Насколько я понял. Т.е. можешь считать это монохромной bmp"шкой с отрезанным заголовком. Насовсем отрезанным.


 
Хозяин   (2006-05-04 21:23) [33]

Yegorchic ©   (04.05.06 21:21) [31]

Ага, поняли.
Только вот еще соображаю, что можно еще сообразить :)


 
oldman ©   (2006-05-04 21:29) [34]


> Zeqfreed ©   (04.05.06 21:23) [32]


Возьмем простой пример: файл размером 6 бит. (предположим, что 1 пиксел=1 бит)
имеем 4 варианта:
1х6
2х3
3х2
6х1
То есть, где-то должен быть приписан размер.
Где, кроме заголовка???


 
Yegorchic ©   (2006-05-04 21:30) [35]


> То есть, где-то должен быть приписан размер.
> Где, кроме заголовка???


Вот. Т.е. задача нерешаема!!!


 
Zeqfreed ©   (2006-05-04 21:31) [36]

[34] oldman ©   (04.05.06 21:29)
Это вопрос не ко мне, а к автору задания. Это просто набор байтов, а не изображение предопределенного формата, ну как ещё то объяснить? И если задача не корректна, то это не значит, что стоит что-либо домысливать, согласно привычному положению вещей.


 
oldman ©   (2006-05-04 21:35) [37]


> Yegorchic ©   (04.05.06 21:30) [35]
> Вот. Т.е. задача нерешаема!!!


Решаема. Если знаешь формат файла!
Предположим, формат:
1: белый пиксел
2: черный пиксел
3: перевод строки
Тогда файл "111131221312213111" однозначно рисует белый квадрат с черным заполнением размером 4х4.


 
homm ©   (2006-05-04 21:47) [38]


> Решаема. Если знаешь формат файла!

Да сказано, же что не указан формат, что ты как баран уперся в него. Нет его. Задача дана конкретная, ничего домвсливать не надо.

ps сори, накипело пока читал...


 
oldman ©   (2006-05-04 21:51) [39]


> homm ©   (04.05.06 21:47) [38]
> Да сказано, же что не указан формат


Ага. Прикольно. Вам пришло N байт. Нарисуйте их, думая. что это растр...
Задача должна быть поставлена нормально!

ps сорри, накипело на таких постановках курсовиков...


 
Zeqfreed ©   (2006-05-04 21:54) [40]

Это не курсовик. Насколько я понимаю, автор учится в школе (my excuses, если ошибаюсь). Задачу дали на уроке информатики. Задача не корректна. Возможно, учительница что-то перепутала, возможно, сам автор.

Был тут один, про Структуру рассказывал. Структуры, форматы…



Страницы: 1 2 вся ветка

Текущий архив: 2006.06.11;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.059 c
2-1148463740
Мурзилка
2006-05-24 13:42
2006.06.11
шрифты


15-1147762283
Шутник
2006-05-16 10:51
2006.06.11
Обоснование выбора: СУБД vs файлы


10-1120418056
Michael5
2005-07-03 23:14
2006.06.11
Как бороться с сообщением, что в буфере обмена находится слишком


15-1147127757
Сорс
2006-05-09 02:35
2006.06.11
Помогите найти ошибку в коде?


6-1137494084
Volf_555
2006-01-17 13:34
2006.06.11
Как автоматически из моей программы входить в почтовик?