Як реалізувати механізм підтримки додатком макросів?


Бувають ситуації коли у додатку треба реалізувати механізм підтримки макросів, тобто хочеться шоб прямо в програмі можна було писати і виконувати програмний код; ну може коли й не писати, то принаймні виконувати.

Все це відносно нескладно зробити за допомогою сервісів компіляції Net Framework. Вони розміщені у просторі імен System.CodeDom і, відповідно, Microsoft.VisualBasic та Microsoft.CSharp. А от найцікавіше, шо можна у C# програмі писати і виконувати програмний код на VB. І навпаки. Шо і продемонстровано у доступному для завантаження прикладі.

Створюємо HTA-додатки

Є у Windows (починаючи з Windows 98) одна рульна штука якою нерідко багато хто нехтує, а от як на мене - просто непогана річ скажімо для створення авторунів. Зоветься вона hta-додатками (hta application), а суть полягає у використанні скриптів та html замість серйозних мов програмування (тобто DHTML). Розробляти такі додатки легко в простому блокноті, зберігаючи файли з розширенням *.hta То вам не так ото - малюнки малювати.

BZip2 стиснення


Алгоритм стиснення даних BZip2 — розроблено і вперше опубліковано Джуліаном Сьюардом (англ. Julian Seward) у липні 1996.

Зазвичай стиснені файли зберігаються з розширенням *.bz2. BZip2 стискає єфективніше за Deflate та GZip, але повільніше. Хоча, він не найефективніший з алгоритмів. Скажімо RAR, LZMA (7Z) - не лише краще запаковують дані, але й набагато шустріше працюють.

Створення ефекту дуже сильного розчинення


Натрапив на одному форумі на чудовий зразок написання графічного фільтру розчинення (Blur). У порівнянні з традиційними алгоритмами для таких речей, скажімо Gaussian Brur чи Median Blur - він дозволяє досягти дуже високу ступінь розчинення. Проте, оскільки він писаний був на VB6, довелось трошки поморочити голову над його перекладом на VB. NET та C#. Хоча - це перероблений і доповнений варіант. Додана наприклад можливість обробки лише визначених каналів.


Colorquantizer - бібліотека квантування кольору


colorquantizer – проста і гнучка у використанні річ для проведення якісного квантування кольору з перетворенням у індексовані формати Format1bppIndexed, Format4bppIndexed, Format8bppIndexed а також 16-ти бітові формати, включаючи Format16bppArgb1555.

Бібліотека розроблена для Net Framework 2.0 і розповсюджується з відкритим вихідним кодом (vb2008).

Докладнішу інформацію про неї можна знайти тут.

DWP 3.2 - програма для призначення шпалер Робочого Столу





Основні характеристики:

- інтегрується з оболонкою Windows для роботи з основними графічними форматами
- шпалери може призначати проводячи попередню обробку зображення фільтрами
- охайно (зберігаючи пропорції) вписує зображення у екран при призначенні шпалер вписуванням
- дозволяє визначати кут та стиль (трансформацію) при закладенні робочого столу "плиткою"

FloydSteinberg (error diffusion)


Код квантувальника кольору у формат Format1bppIndexed (чорно-біле зображення) з можливістю проведення дифузії кольору через застосування алгоритму FloydSteinberg.

Вперше цей алгоритм було опубліковано ще в 1976 році Робертом Флойдом та Луісом Стеінбергом. З того часу він широко застосовується при квантуанні зображеннь з індексованим кольором. Це вдосконалення техніки Error Diffusion, опублікованої та запатентованої ще у 1931 році Річардом Ранжером. Вона застосовувалась у поліграфії для друку чорнобіих зображень у газетах, журналах та книжках.

LZW стиснення


Це словникове зтиснення орієнтоване на часте повторення певних послідовностей символів у тексті. От, чудово працює при зтисненні HTML-документів, де часто повторюються одні й ті самі теги. Незважаючи на те, шо це динамічне стиснення, працює достатньо швидко.

Назва LZW походить від прізвищ розробників: Lempel, Ziv, та Welch. Власне одразу LZ77 було опубліковано ще у 1977 році, а вдосконалений Террі Уелчем варіант LZW у 1984 році. З точки зору реалізації - це дуже простий алгоритм (у порівнянні навіть з тими ж LZ77 чи LZ78).

TIFFUTILITY - програма для роботи з багатосторінковими TIFF


TIFF UTILITY

Вільнорозповсюджувана зручна програма для роботи з багатосторінковими TIFF. Працює під Windows 2000 чи новіше (XP, 2003, Vista, 2008, 7) з Net Framework 2.0

Більше дізнатися про програму та файловий формат TIFF можна тут

WebClient VS HttpRequest


При використанні класу HttpRequest з простору імен System.Net можна зіткнутись з проблемою "помилки 403 (заборонено)" під час отримання даних відповіді (HttpRequest.GetResponceStream) яка дуже просто вирішується використанням класу WebClient замість HttpRequest. Що й продемонстровано у наступному прикладі.