79.133.150.80, Файлообмен -> KolMath.zip http://hiasm.com/forum_serv.php?q=56&id=254 Разместить в ...Elements\code\
Этот топик читают: Гость
Ответов: 211
Рейтинг: 52
|
|||
карма: 1 |
|
Ответов: 44
Рейтинг: 1
|
|||
ссылка не работает...
а KOLMath.dcu нужен, где можно взять скажите? C:\HiAsm\Elements\delphi\code\KOLjanFX.pas(31) Fatal: File not found: 'KOLMath.dcu' Сборка завершена. ------------ Дoбавленo в 00.41: Нарыл, разместил. если кому надо - KolMath - http://libfiles.narod.ru/kolmath.zip |
|||
карма: 1 |
|
Ответов: 64
Рейтинг: 15
|
|||
побырому сделал иконку, может кому пригодится http://webfile.ru/3827434
|
|||
карма: 0 |
|
Ответов: 6
Рейтинг: -2
|
|||
Таж фигня
|
|||
карма: 0 |
|
Ответов: 1291
Рейтинг: 47
|
|||
У кого-то получилось запустить этот компонент? У меня всякие ошибки пишет, даже после того как нашел kol_err.zip и оттуда kolmath.pas ему скормил:
C:\Progs\Programming\HiAsm\Elements\delphi\code\kolmath.pas(327) Fatal: File not found: 'SysConst.dcu' Может не та версия? http://libfiles.narod.ru/kolmath.zip недоступно. Поделитесь сетапом, оч нужно, полезный компонент. |
|||
карма: 3 |
|
Ответов: 1291
Рейтинг: 47
|
|||
3042, может вы поможете? Ведь у вас как-то запустилось..
------------ Дoбавленo в 13.34: Вот в этом коде из KolJanFX.pas видно что ошибка возникает после использования указателя массива P1: Buf[0,0]:=P1[CX*3]; Сообщение ShowMessage не проходит после этой строки. Удалось заставить работать только эффект Flip. Что не так с использованием PByteArray? Есть какая-то хиасмовская специфика? procedure SplitBlur(var Clip: PBitmap; Amount: integer); var P0,P1,P2: PByteArray; CX,X,Y: integer; Buf: array [0..3,0..2] of byte; begin if Amount=0 then Exit; for Y:=0 to pred(Clip.Height) do begin //ShowMessage('SplitBlur'+Int2Str(pred(Clip.Height))); P0:=Clip.ScanLine[Y]; if Y-Amount<0 then P1:=Clip.ScanLine[Y] else P1:=Clip.ScanLine[Y-Amount]; {Y-Amount>0} if Y+Amount<Clip.Height then P2:=Clip.ScanLine[Y+Amount] else P2:=Clip.ScanLine[Clip.Height-Y]; {Y+Amount>=Height} for X:=0 to pred(Clip.Width) do begin // ShowMessage('SplitBlur2'+Int2Str(pred(Clip.Width))); if X-Amount<0 then CX:=X else CX:=X-Amount; {X-Amount>0} ShowMessage('SplitBlur2 '+Int2Str(pred(Clip.Width))); Buf[0,0]:=P1[CX*3]; ShowMessage('SplitBlur3 '+Int2Str(pred(Clip.Width))); Buf[0,1]:=P1[CX*3+1]; Buf[0,2]:=P1[CX*3+2]; Buf[1,0]:=P2[CX*3]; Buf[1,1]:=P2[CX*3+1]; Buf[1,2]:=P2[CX*3+2]; if X+Amount<Clip.Width then CX:=X+Amount else CX:=Clip.Width-X; {X+Amount>=Width} Buf[2,0]:=P1[CX*3]; Buf[2,1]:=P1[CX*3+1]; Buf[2,2]:=P1[CX*3+2]; Buf[3,0]:=P2[CX*3]; Buf[3,1]:=P2[CX*3+1]; Buf[3,2]:=P2[CX*3+2]; P0[X*3]:=(Buf[0,0]+Buf[1,0]+Buf[2,0]+Buf[3,0]) shr 2; P0[X*3+1]:=(Buf[0,1]+Buf[1,1]+Buf[2,1]+Buf[3,1]) shr 2; P0[X*3+2]:=(Buf[0,2]+Buf[1,2]+Buf[2,2]+Buf[3,2]) shr 2; ShowMessage('SplitBlur3'+Int2Str(pred(Clip.Width))); end; end; end; Похоже форум мертв.. |
|||
карма: 3 |
|
Ответов: 211
Рейтинг: 52
|
|||
Непосредственно KOLjanFX::SplitBlur работает, смотреть надо что в hi элементе. Схемку для анализа, если можно.
|
|||
карма: 1 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Интересно..
Схемку и измененный компонент выложил здесь, с описанием экспериментов: http://forum.hiasm.com/forum.html?q=3&t=63190 Или вот: janfx_1.1_mod.rar barbie.rar ------------ Дoбавленo в 16.52: Minkovsky, может поделитесь своим рабочим компонентом? Вместе со всей обвязкой-зависимостями (kolmath и пр.). Может, у меня кодогенератор левый - если не заработает ваш компонент.. |
|||
карма: 3 |
|
Ответов: 211
Рейтинг: 52
|
|||
Aziz, Для функций GetSrc в hiJanFX сделайте вставки bmp.PixelFormat:=pf24bit; (код ниже)
janFX оперирует 3 байтами для пиксела в массиве. code_31708.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_31708.txt [1.1KB] [471] | ||
Голосовали: | Aziz |
Ответов: 1291
Рейтинг: 47
|
|||
Minkovsky, спасибо Вам большое! Не додумался бы сам. Теперь все работает. Все же, далеко мне до программиста..(
Вот например, впервые вижу чтоб 2 функции (GetSrc) в пределах исходника имели одинаковые имена и все работало. Даже сначала пытался найти скрытые отличия в названиях, не веря глазам..))) Тут еще странный глюк нарисовался, може кто знает в чем причина - исходник KOLjanFX.pas - нивкакую не хочет обновляться.. Выводит постоянно мне мои тестовые Месседж боксы, хоть я их все уже поудалял. Даже более того - я его вообще удалил из папки Code - проект все равно компилится, опять с этими мессагами. Такое ощущение что Хиасм или Винда (7) или SSD диск где-то сильно его закешировали, а как очистить кеш - непонятно. Что я только не делал, перезагружал винду, по всему Хиасму текстовый поиск делал даже. Переименовывал его папку - не помогло. Помогло только полное (внутри и снаружи) переименование исходника KOLjanFX.pas. Чудеса да и только..За что и обожаю программирование - вечно ставит загадки)) Вот рабочая версия компонента со всеми адаптированными библиотеками, если кому нужно чтоб не мучался: ------------ Дoбавленo в 10.04: Как я и думал (я чувствовал что overload отвечает за это), это перегрузка функций: Возможность перегрузки Впервые концепция перегрузки процедур и функций была реализована в Delphi 4. Она позволяет иметь несколько различных процедур и функций с одинаковыми именами, но с разными списками параметров. Такие процедуры и функции должны быть описаны с применением директивы overload. procedure Test (I: integer); overload; procedure Test (S: string); overload; procedure Test (D: double); overload; При вызове процедуры Test, Delphi сама решит, какую из трех процедур необходимо выполнить, в зависимости от передаваемого ей параметра. Но нужно отметить, что это не самая безопасная возможность языка. Применение перегружаемых процедур и функций может стать неиссякаемым источником трудноуловимых ошибок в программе. Поэтому пользуйтесь этой возможностью осторожно. http://habrahabr.ru/post/122929/ |
|||
карма: 3 |
| ||
файлы: 1 | janfx_1.1_mod1.rar [37.5KB] [397] |
Ответов: 1291
Рейтинг: 47
|
|||
Вот портировал и добавил эффект калейдоскопа. Оригинал кода прилагается. Там я немного понаставил еще более случайного изменения цветов в коде. Как толщину линий изменить - не знаю, не смог пока. Только, он скорее рисует линии чем обрабатывает изображения, кто сможет доделайте, будет здорово. В фотошопе такой эффект видел. Но все равно интересно получается, особенно совместив его с др. эффектами или с самим собой с разными настройками. Всех с днем моего рождения!
|
|||
карма: 3 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Эх, забросил я этот компонент в своё время, но вот сейчас вернулся. Выложил обновлённую версию (2.0) в самый первый пост темы и комментарии там же. Теперь компоненту не нужные никакие kolmath, KOLjanFX - он почти полностью автономен.
Добавил пару функций, которые не усмотрел в прошлый раз. Иконку сделал. В общем, тестируйте на здоровье. Пишите пожелания, замечания, комментарии. Но у меня есть несколько вопросов к знатокам. 1. Правильно ли организовал функцию GetSrc? Т.е. не будет ли такого, что обращаются к несозданному объекту (картинке) или, наоборот, утечки памяти? 2. В процедурах секции "---<Собственно эффекты>---": правильно ли то, что Fsrc после выдачи на событие не разрушается ф-цией Free_And_Nil? (Я разрушаю Fsrc, только если выдаётся Fdst.) Я постарался, чтобы не было разрушения объекта (Bitmap), если он будет использован в другом компоненте, но не будет ли тут утечки памяти в каких-то случаях? 3. Процедура _work_doStrecth. Value1 нельзя выставить меньше некоторого числа (обычно 1 или 2), причём число зависит от вида фильтра (Value2). Вылетает ошибка. С чем это может быть связано? |
|||
карма: 9 |
| ||
Голосовали: | MAV |
Ответов: 1304
Рейтинг: 405
|
|||
3042, компонент позволяет преконвертировать картинку 24b в 16b, то есть (8b,8b,8b) на канал в 16b на канал, правильно я понимаю? Теперь вопрос можно ли полученную картинку сохранить в файл? Из доступных форматов png поддерживает 16b на канал. Попытался сохранить но всё равно в итоге получил 24b
fx_.sha В вкратце для чего мне 16b, использую картинку в качестве карты высот. ps; образец 16 битного изображения, полученного в фотошопе 256_h_.zip |
|||
карма: 3 |
| ||
файлы: 1 | 256_h_.zip [120KB] [627] |
Ответов: 1926
Рейтинг: 172
|
|||
MAV, по ссылке - error.
------------ Дoбавленo в 01.08: MAV, 16b - это не на канал, а на пиксель. Но у меня тоже почему-то не сохранят компонент png 16-битную картинку (получается 24). Хотя 8-битную, полученную через тот же janFX, сохранят отлично. |
|||
карма: 9 |
|
Ответов: 2237
Рейтинг: 676
|
|||
3042, а примерчик небольшой в архив с элементом положить?
|
|||
карма: 11 |
|