Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/12: Рейтинг темы: голосов - 12, средняя оценка - 4.50
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5

Скрипт рисования изображений текстом

30.07.2013, 03:00. Показов 2774. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скрипт открывает директорию, ищет в ней изображения форматов gif/jpeg/png и создает текстовый файл бинарного клона изображения.

Название: charA.gif
Просмотров: 299

Размер: 506 байт
Пример
_____________________
_____________________
_____________________
____*******__________
____*******__________
______*****__________
______******_________
______**_***_________
_____***__***________
_____**___***________
____**********_______
____**********_______
____**______**_______
__*****____*****_____
__******__******_____
__*****___******_____
_____________________
_____________________
_____________________
_____________________


Название: charB.gif
Просмотров: 298

Размер: 465 байт
Пример
_____________________
_____________________
_____________________
___***********_______
____***********______
_____***____***______
_____***____***______
_____***___****______
_____*********_______
_____**********______
_____***_____***_____
_____***______**_____
_____***______**_____
____************_____
___************______
____*********________
_____________________
_____________________
_____________________
_____________________


Название: charC.gif
Просмотров: 299

Размер: 513 байт
Пример
_____________________
_____________________
_____________________
________****__*______
______**********_____
______****_*****_____
_____***_____***_____
_____**______***_____
____***______________
____***______________
____***______________
____***______________
_____**_______*______
_____****____***_____
______**********_____
_______********______
_____________________
_____________________
_____________________
_____________________


Картинки следует применять созданные в векторном редакторе, с резкими скачками между цветами палитры. Выходной файл с текстом по обьему данных не будет превышать 420 байт, или по размеру 21x20 символов.

Скрипт во вложении bgen.7z

В файле bgen.php можно указать символ отрисовки (стр.9) и сомвол фона (стр.11), так же балланс в процентах (стр.13) между тоном и фоном.
Вложения
Тип файла: 7z bgen.7z (2.4 Кб, 29 просмотров)
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.07.2013, 03:00
Ответы с готовыми решениями:

Сжатие изображений с текстом в Flexbox
Нужно чтобы при сжатии изображения были одинакового размера, а не разного. Одно немного больше в примере как это исправить? Пример...

Изменить настройки обтекания изображений текстом
Можно ли как-нибудь сменить стандартные настройки обтекания на мои? Например, чтобы при вставке картинки обтекание устанавливалось на...

Запустить скрипт, что использует библиотеку для рисования графиков
В Visual Studio написал сайт и на нем необходимо нарисовать график, для этого использую библиотеку flotr2. Вот код самого скрипта: ...

25
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
05.09.2013, 20:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от accept Посмотреть сообщение
в 85 строке неправильно память выделяется
да, забыл это исправить)))
Цитата Сообщение от accept Посмотреть сообщение
и не проверяется на NULL
проверка была, случайно удалил, когда убирал лишнее
Цитата Сообщение от accept Посмотреть сообщение
в 115 строке передаётся меняемое имя файла, а должно быть неменяемое
изначально так и было, решил, что приведение к char * константного выражения для strcat является неверным шагом, и изменил на изменяемое значение. Или приведение к char * из const char * - это был нормальный шаг? Если нет - то буду рад узнать, как будет правильно добавить ".txt" в конец имени.
Цитата Сообщение от accept Посмотреть сообщение
в 120 строке предполагается, что size_t - знаковый тип, а он беззнаковый
тоже забыл изменить, изначально был тип long, рефакторинг посреди написания - беда..
Цитата Сообщение от accept Посмотреть сообщение
в 121 строке предполагается, что размер char может быть не равен единице, по стандарту он равен единице
Да, должно быть char *
Цитата Сообщение от accept Посмотреть сообщение
в 128 строке можно просто проверить первый символ на точку
так там же передается не ".тип", а все имя полностью..
Цитата Сообщение от accept Посмотреть сообщение
в 40 строке сравнение не нужно, да и неправильное оно, потому что сравнивает с мусором, который может совпасть
так и знал, что намудрил там)
Цитата Сообщение от accept Посмотреть сообщение
в 43 строке нужно читать через fgets() + sscanf(), иначе слова будут переходить на следующий шаг
Не понял.. Можно немного подробнее..?
Цитата Сообщение от accept Посмотреть сообщение
в 135 строке цикл с магическим числом
почему-то, при работе с указателем или [i] у меня переходило на следующий блок памяти, как я понимаю (т.е., как будто в allowedTypes 5 элементов, а не 4, и последнее значение - значение переменной type, в результате получалось, что возвращало 1), из-за чего, в силу того, что разобраться так и не смог, я и добавил такой костыль..
Цитата Сообщение от accept Посмотреть сообщение
в 153 строке какая-то мутная функция, в ней копипаст, её нужно переписать в два ясных условия
Да, это чуть переделанный копипаст из сорцов php..
Цитата Сообщение от accept Посмотреть сообщение
в 163 строке название типа должно отличаться от названия переменной Colors_t
спасибо, понял, запомнил
Цитата Сообщение от accept Посмотреть сообщение
во-первых, пишешь в одну строку, это нечитаемо и мешает отладке
во-вторых, ни одного комментария нет и структура программы тоже не обладает такой ясностью, что можно её не комментировать
Ну комментарии есть, просто их мало.. А по остальному - реализация была просто попыткой перевода приведенного выше кода на эквивалентный на другом языке
Цитата Сообщение от accept Посмотреть сообщение
проименованных в разном стиле
копипастf.. Свои функции я всегда именую в стиле funcName, все остальные названия стыбрены..

Не по теме:

Спасибо! Как будет время и желание, обязательно исправлю

0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
05.09.2013, 21:24
Цитата Сообщение от KOPOJI Посмотреть сообщение
изначально так и было, решил, что приведение к char * константного выражения для strcat является неверным шагом, и изменил на изменяемое значение. Или приведение к char * из const char * - это был нормальный шаг? Если нет - то буду рад узнать, как будет правильно добавить ".txt" в конец имени.
через промежуточный массив и strcat()

Цитата Сообщение от KOPOJI Посмотреть сообщение
Да, должно быть char *
не должно там быть указателя, указатели в файлы никогда не записываются
ты просто перепутал

Цитата Сообщение от KOPOJI Посмотреть сообщение
так там же передается не ".тип", а все имя полностью..
я перепутал аргументы местами
всё равно это неправильно, потому что имя aaaaa.txt будет в точке искать букву a пять раз
эту проверку нужно убрать вообще, потому что strrchr() уже сообщает, есть там точка или нет
эту функцию надо переписать, расширения сделать без точек, и цикл for сделать

Цитата Сообщение от KOPOJI Посмотреть сообщение
Не понял.. Можно немного подробнее..?
когда несколько слов вводишь, они не сбрасываются, первое читается, а остальные переходят на следующую итерацию
поэтому получится не ввод каждого слова, а несколько приглашений подряд
сначала читаешь через fgets() в строку, затем из строки через sscanf() одно слово в массив, который проверяется

Цитата Сообщение от KOPOJI Посмотреть сообщение
почему-то, при работе с указателем или [i] у меня переходило на следующий блок памяти, как я понимаю
надо использовать цикл for, а вместо магического числа вычислять количество элементов через sizeof

Цитата Сообщение от KOPOJI Посмотреть сообщение
Да, это чуть переделанный копипаст из сорцов php..
которые тоже надо переписать; нарисуй блок-схему, распутай её, а потом запиши в виде кода

Цитата Сообщение от KOPOJI Посмотреть сообщение
Ну комментарии есть, просто их мало..
комментарии должны описывать способ вызова функции, принимаемые и возвращаемое значения (что они означают)
1
05.09.2013, 22:48

Не по теме:

Цитата Сообщение от accept Посмотреть сообщение
ты просто перепутал
все куда проще) я просто плохо знаю си :) Перепишу, как будет время и возможность с учетом вышесказанного и буду рад, если вы еще раз посмотрите.. Огромное спасибо, для меня это важно :senor:

0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
06.09.2013, 08:54
Может ТС пригодится инфа. В никсах есть прожка jp2a и (что еще интереснее) либа aalib. При помощи последней можно даже кино гляннуть в ASCII арте. Ну и libcaca здесь уже упоминалась.... Соответственно есть и исходные коды
1
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
06.09.2013, 12:15  [ТС]
кину стрелу, потому что похоже www.cyberforum.ru/skilful-hands/thread750199.html
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
20.05.2014, 23:02  [ТС]
convertor.netne.net
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2014, 23:02

Запустить скрипт, что использует библиотеку для рисования графиков
В Visual Studio написал сайт и на нем необходимо нарисовать график, для этого использую библиотеку flotr2. Вот код самого скрипта: ...

Скрипт замены изображений
Вообщем написал скрипт своими силами Меняет картинки скрывая/показывая блоки с изображениями, но слишком громоздка может кто подскажет...

Скрипт галереи изображений
Здравствуйте! Подскажите, где можно скачать скрипт просмотра изображений как на этой странице...

скрипт счётчик изображений
Всем доброй ночи. Вообщем есть скрипт для подсчёта кол-ва файлов с директории images . В этой директории создаётся каждый день новые...

Скрипт смены изображений
Нашел скрипт смены изображений, но он все фотки отображает в одном размере. Подскажите какие еще бывают скрипты смены фото?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru