Важная информация
Показано с 1 по 3 из 3

Тема: Полезные исходники

  1. #1 Полезные исходники 
    Гуру Аватар для Konstantin Shcherba
    Регистрация
    08.11.2010
    Сообщений
    1,336
    Сказал(а) спасибо
    26
    Поблагодарили 139 раз(а) в 107 сообщениях
    Записей в блоге
    1
    С разрешения пользователя Progr выкладываю набор исходников с описанием.
    1. CALENDAR.BAS - Правильный алгоритм вычисления дня недели в григорианском календаре. Работает в диапазоне дат от 1.1.1 до 31.12.65536;
    2. COMEXE.BAS - Утилита на GW-BASIC'е, превращающая COM в EXE и наоборот. Фактически аналог EXE2BIN из комплекта поставки MS-DOS но с функцией обратного вектора. Сам ею пользуюсь;
    3. DES.BAS - Мощнейшая утилита, позволяющая шифровать файлы по алгоритму DES, производить их дешифровку, а также взламывать пароли к зашифрованным файлам (в пределах до 500 лет работы);
    3. DIALOG.BAS - Мощная диалоговая система написанная для GW-BASIC'а;
    4. FONTVIEW.BAS - Простенькая утилита на GW-BASIC'е для просмотра матричных шрифтов от 8х8 до 8х19;
    5. IMAGE.BAS - Универсальный просмотрщик файлов BMP/PCX. Корректно работает со всеми существующими и мыслимыми вариациями форматов. Позволяет просматривать PCX файлы размерность в 1, 2, 4, 8, 16, 24, и 32 бита, с разным количеством планов; BMP файлы как несжатые так и сжатые по RLE размерностью 4, 8, 16, 32, и 48 битов. Ограничение - позволяет просматривать файлы размером только до 640х480, выводит всё в 16-цветном режиме (используется технология Dithering - прямо как в PhotoShop'е). После вывода изображения на экран его можно сохранить в BMP файл нажатием клавиши ENTER. Имя файла задаётся в настройках. Имеет интерфейс окон а-ля Windows 95. Исходник утилиты можно переделать так что она сможет выводить большие изображения, для этого надо либо добавить поддержку режимов VESA, либо прикрутить функцию бикубической интерполяции для уменьшения изображения во время вывода оного на экран. Вывод цвета - обращение к функциям получения подобранного цвета - это позволяет изменить вывод на 256-цветный, или же 32-цветный если переделать функцию;
    UUE.BAS - Утилита на GW-BASIC'е для UUE кодирования/декодирования.
    DES.EXE - Компилированный мною (авторский) вариант вышеописанной утилиты шифрования;
    IMAGE.EXE - Компилированный мною (авторский) вариант вышеописанной утилиты просмотра изображений.
    Все эти программы не последние какие я написал на бейсике. В будущем будут и другие. Прошу написать в описании к программам что все они - общественная собственность. Я отказываюсь от копирайтов на них на благо программистского общества.
    Вложения
    • Тип файла: zip UTILS.ZIP (134.7 Кб, Просмотров: 18)
    Ответить с цитированием  
     

  2. #2  
    Progr
    Guest
    Admin, огромнейшее Вам человеческое спасибо! Надеюсь эти исходники будут полезны многим людям. Я же буду при наличии свободного времени пополнять BASIC-библиотеку.
    Ответить с цитированием  
     

  3. 2 пользователя(ей) сказали cпасибо:

    pingvin (09.06.2011), Абадябер (06.06.2011)

  4. #3  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    4,022
    Сказал(а) спасибо
    1,895
    Поблагодарили 1,015 раз(а) в 873 сообщениях
    Записей в блоге
    1
    Немного конструктивной критики:
    Посмотрел программу IMAGE.BAS, вопросец возник, а про какой Dithering вы говорите? Если я не ошибаюсь, дизеринг производится при понижении разрядности и от обычного транкейта[обгрызания цветности, подгона под стандартную палитру, не суть], он качественно отличается.
    Смотрел я 256 цветную картинку, небольшую совсем, "фотозадница" при понижении разрядности делает диффузионный(от слова диффузия) дизеринг, используя оптимизированную палитру(по разным критериям, их там 3 вроде). Объясню смысл, в трёхмерном пространстве создаётся массив размерностью 256x256x256(соотв. R,G,B), программа проходится по изображению и добавляет "вес" в каждую ячейку. Далее программа, сканируя этот массив создаёт геометрич. макет цветовой области и в соотв. с весом распределяет по нему точки(256 штук, если 256 цветная палитра, 16 штук если 16 цветная). Равномерность их распределения зависит от равномерности распределения "уникальных цветов" и критерия(уже говорил). Далее работает дизеринг 1) для каждой точки находится ближайший цвет из палитры 2) В зависимости от типа дизеринга работает определённая прога, например шумовой дизеринг - добавление случайного шума, паттерновый дизеринг(оптимизация с использованием паттернов, в пикселях которых распределены весовые коэф-ты), дифузионный дизеринг(пиксели одного цвета проникают в пиксели другого на определённую дистанцию с варьирующейся плотностью(зависящей от расстояния до границы цвета), равноудалённые друг от друга, при смешивании(обман зрения) они дают точный цвет).

    Всё это я говорю к тому, что про дизеринг в таких программах(там где его нету) лучше не упоминать, а написано было
    прямо как в PhotoShop'е
    потому как в фотошопе использован вышеуказанный принцип, о реализации которого я даже думать не хочу, ибо спецы, написавшие все эти алгоритмы родились в рубашке, с компом в руках и книжкой по мат. анализу.

    PS: А то, что доблестно выложили ваши алгоритмы(не понимаю зачем отказываться от прав на них), за это конечно спасибо, понять оттуда, правда мало что удалось(слишком плотно оформлено и нет комментариев), но тем не менее, может кто-то извлечёт пользу.
    Последний раз редактировалось >Quiet Snow<; 09.06.2011 в 21:32.
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Полезные сайты
    от Konstantin Shcherba в разделе HTML, CSS
    Ответов: 9
    Последнее сообщение: 12.04.2018, 15:37
  2. Ответов: 0
    Последнее сообщение: 18.03.2012, 18:53
  3. Ответов: 0
    Последнее сообщение: 22.09.2011, 17:25
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •