|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
||||||
Как узнать координаты нужной точки рисунка?12.09.2010, 12:35. Показов 9744. Ответов 38
Метки нет (Все метки)
Я новичок в программировании, не сочтите вопрос провокационным или вызванным ленью...
Я нарисовал окружность и разделил ее на пять равных частей:
Неужели методом тыка?
0
|
||||||
| 12.09.2010, 12:35 | |
|
Ответы с готовыми решениями:
38
Janus Gridex - Как в Gridex окрасить значение в нужной колонке и нужной строке? Сохранение Рисунка из Word в отдельный файл Рисунка Вычислить декартовы координаты точки, имеющую следующие полярные координаты |
|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
|
| 20.09.2010, 08:27 [ТС] | |
|
Пример я , разумеется, просмотрел, но не понял в нем ни аза.
То есть вы хотите сказать, что файлы ВМР можно создавать на ровном месте, как бинарные файлы, а уж как их просматривать, дело второе..? Тема интересная, нужно будет заняться. Спасибо за подсказку.
0
|
|
|
Кормпилятор
|
||
| 20.09.2010, 12:46 | ||
Пробил в гугле, посмотрел, вот эта, сишный код можете не читать, а описание почитайте: http://c-site.h1.ru/infa/bmp_struct.htm Вообще можете сделать проще, создать в paint картинку сохранить в 256 цветов(перед сохранением для вашей программы переверните палитру 2 раза клавишей CTRL+I, т.е. сохранили в 256 цв. перевернули палитру 2 раза, снова сохранили - это делается чтобы избежать кое-какой лажи). Потом можете руководствуясь структурой, выдрать этот заголовок из файла, забить его в DATA и спокойно записывать в любой файл вместе с палитрой и изображением. После кучи всяких лаж научитесь создавать и загружать эти файлы, а круче них ещё ничего нет(Jpeg - ссаный веник, по аналогии wav с mp3). Напишу вам размеры типов данных, надеюсь поможет: STRING * n - n байт строка INTEGER - 2 байта целое LONG - 4 байта целое SINGLE - 4 байта вещественное DOUBLE - 8 байт вещественное Открываете файл как бинарный т.е. OPEN "kartinka.BMP" FOR BINARY AS #1 Читаете или пишете заголовок ( операторы GET - чтение данных, PUT - запись данных). Можно завести массив равный одной строке пикселей: DIM LoadBuff AS STRING * 640 и считывать его разом: GET #1, Adr, LoadBuff Для работы с данными в памяти есть DEF SEG - установка сегмента, PEEK - чтение, POKE - запись VERSEG - узнать сегмент переменной, VARPTR - узнать смещение переменной. Работа с памятью в бейсике ведётся только по байтам. Пригодится для работы с палитрой(формирование или загрузка). Короче копайте в этом направлении, если что не поятно поясню.
0
|
||
|
Кормпилятор
|
|
| 20.09.2010, 18:19 | |
|
kypm, специально для вас переделал под 640x480x4bit и полностью прокомментировал.
1
|
|
|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
|
| 21.09.2010, 16:26 [ТС] | |
|
Спасибо за подробные объяснения и особенно за пример. Один пример часто стоит целых статей.
Буду неспеша разбираться с этой темой. У меня в Досе установлен Win3.1, думаю, это сильно облегчит задачу. Добавлено через 5 часов 55 минут А программка-то ваша работает! И под чистым ДОСом тоже; правда win3.1 ругается, говорит не тот формат. Но там не Paint, а еще Paintbrush, видимо ВМР немного другой. А в нормальной операционке (Debian Lenny) просматривается. Правда, почему-то нет верхнего левого угла (квадрат пикселей 50х50, или чуть больше. Понять, что вы там написали я пока не смог, слишком мало знаю по этой теме да и по Бейсику тоже. Немного подучусь, тогда.. Все равно, Спасибо.
0
|
|
|
Кормпилятор
|
|||
| 21.09.2010, 17:23 | |||
|
0
|
|||
|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
|
| 22.09.2010, 11:38 [ТС] | |
|
1. По поводу Линукса.
Вы поняли строго наоборот. Как раз при помощи линуксовых программ просмотра можно увидеть то, что создает ДОС6.2 по вашей программе. Ни Вин Виста, ни Вин3.1 не кажут ничего (первая - черный экран, вторая отказывается). Посылаю вам файл line-dos.bmp, созданный под чистым ДОС 6.2. На нем виден (под Линуксом) кусок вашей линии в правом нижнем углу. 2. При помощи же эмулятора DOSEMU под Линуксом ваша программа создает полноценные файлы (line-lin.bmp), которые можно просмотреть и в Висте. 3.В придачу посылаю файл 4snow.bmp, созданный мной под Вин3.1 (которая является надстройкой над Дос6.2). Правда программа Paintbrush не позволила поставить точки строго по углам - получилось отклонение на 1 пиксель по той или иной оси. Желаю удачи!
1
|
|
|
Кормпилятор
|
|
| 22.09.2010, 12:11 | |
|
kypm, занятно, вечером гляну, но уже заподозрил кое-что ибо размер файла line-dos всего 14188 байт.
0
|
|
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 22.09.2010, 12:33 | |
|
Крусор без знания его координат не рисуется. Если ты его написал, то должен знать, где они валяются. Тогда не проблема и вывести их куда угодно как по запросу, так и при каждом изменении. А если ты даже этого не умеешь, то уж подавно не напишешь, чтоб он по экрану двигался. Даже научившись хранить и выводить координаты, надо ещё учить рисование и чтение текущего цвета, иначе курсор ты не напишешь. Твой же вопрос самхивает на зявление якобы танкоконструктора: "Танк я сконструировал. А кто мне теперь объяснит, что вообще такое танк?".
0
|
|
|
Кормпилятор
|
||||||
| 22.09.2010, 19:37 | ||||||
|
taras atavin, ваши упрёки безосновательны, это форум, тут помогают(если могут), а не упрекают. Не хотите помогать, так не мешайте.
Добавлено через 27 минут kypm, попробуйте под dos запустить вот это:
0
|
||||||
|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
|
| 22.09.2010, 21:30 [ТС] | |
|
И под Досом6.2 и в эмуляторе печатает 1, и создает файл test.bmp размером 310 400 байт.
0
|
|
|
Кормпилятор
|
|||||||||||
| 22.09.2010, 22:46 | |||||||||||
|
kypm, ясно, значит я тогда напишу 2 проги, одну для тестовой записи bmp по принципу этой программы, вторую для теста записи в файл переменных типа INTEGER(чувствую здесь собака зарылась).
Да и позвольте поинтересоваться, как вы файлы перекидываете на 486-ю тачку и обратно? Неужели хард вытаскиваете каждый раз... Первый файл (тестил на QBasic 1.1, по определению прога должна работать везде)
Второй файл, пишет 310 килобайт переменной типа Integer, 1 байт лишний.
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
|||||||||||
| 23.09.2010, 09:51 [ТС] | |||||||||||
|
Quiet Snow, простите, что задал вам лишней работы.
Дело в том, что только сегодня ночью я понял, что 486 машина работает медленно. Требуется несколько минут, чтобы скриншот полностью записался. А я , не понимая механизма программы, не дождавшись надписи "Press any key to continue", прерывал работу программы при помощи CTRL-BREAK. В результате получалась только часть линии. Сегодня я записал скриншот полностью и вся линия на нем в наличии. Программа и моя машина работают как часы (только медленно). Осталось придумать, как применять вашу прогу для записи скриншотов к нужному файлу *.bas. И оформить отдельной темой для всеобщего пользования. У меня есть для работы сетка (типа миллиметровки) в файле grid.bas, так я ее подключаю при помощи INCLUDE:
Что касается переноса файлов, то, к счастью, еще не перевелись дискеты и съемные USB флопповоды. P.S. Полагаю, что теперь отпала надобность прогонять две вами написанные проги?
0
|
|||||||||||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||
| 23.09.2010, 10:14 | |||
|
Добавлено через 1 минуту
0
|
|||
|
Кормпилятор
|
||||
| 23.09.2010, 13:20 | ||||
А, на дискетах файлы таскаете, ясно, вообще дискеты долго не живут, с десяток перезаписей и хана дискете, помню столько нервов потратил на эти дискеты, какое счастье что флешки есть.
0
|
||||
|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
||||
| 23.09.2010, 16:04 [ТС] | ||||
0
|
||||
|
Кормпилятор
|
|||||||||
| 23.09.2010, 17:25 | |||||||||
Тот самый первый пример сейва 320x200 про который я вам говорил посмотрите код.
0
|
|||||||||
|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
|||
| 24.09.2010, 08:08 [ТС] | |||
Просто я думал, что вы, написав хорошую и полезную прогу, сами доведете ее до состояния, когда ей сможет пользоваться каждый. Извините, у меня возможен тайм аут на пару дней - проблемы с Интернетом...
0
|
|||
|
Кормпилятор
|
||||
| 24.09.2010, 15:01 | ||||
Добавлено через 1 час 17 минут
0
|
||||
|
1 / 1 / 0
Регистрация: 12.09.2010
Сообщений: 18
|
|
| 24.09.2010, 15:06 [ТС] | |
|
Да, задачи у всех разные.
В вашем случае ничего другого не остается. Правда в Юниксе, и соответственно в Линуксе, есть возможность соединять в сети даже 386 машины. Когда Линус Торвальдс писал ядро Линукса (на 386 машине), у него уже была сеть с местным университетом. Это описано в его книге "Just for fun" (книга переведена и очень интересна). Я сам этого делать не умею, только знаю о такой возможности. Книжек много всяких, хороших и не очень, я их потихоньку прорабатываю. Но больше одной главы в день не получается - голова уже не та.
0
|
|
| 24.09.2010, 15:06 | |
|
Координаты рисунка (номер страницы) Ввести координаты точки М и найти ее расстояние от начала координат (радиус - вектор от точки О (0,0)).
Узнать имя или индекс вставленного рисунка. VBA
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|