Вверх ↑
Этот топик читают: Гость
Ответов: 211
Рейтинг: 52
#16: 2009-06-03 22:19:02 ЛС | профиль | цитата
79.133.150.80, Файлообмен -> KolMath.zip http://hiasm.com/forum_serv.php?q=56&id=254 Разместить в ...Elements\code\
карма: 1
слтв
0
Ответов: 44
Рейтинг: 1
#17: 2009-07-26 18:23:53 ЛС | профиль | цитата
ссылка не работает...
а 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

0
Ответов: 64
Рейтинг: 15
#18: 2009-08-08 23:03:31 ЛС | профиль | цитата
побырому сделал иконку, может кому пригодится http://webfile.ru/3827434
карма: 0

0
Ответов: 6
Рейтинг: -2
#19: 2010-03-26 15:28:56 ЛС | профиль | цитата
Таж фигня
карма: 0

0
Ответов: 1263
Рейтинг: 47
#20: 2013-08-26 15:30:01 ЛС | профиль | цитата
У кого-то получилось запустить этот компонент? У меня всякие ошибки пишет, даже после того как нашел 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
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 1263
Рейтинг: 47
#21: 2013-08-28 13:49:22 ЛС | профиль | цитата
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;
------------ Дoбавленo в 13.49:
Похоже форум мертв..
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 211
Рейтинг: 52
#22: 2013-08-30 00:18:45 ЛС | профиль | цитата
Непосредственно KOLjanFX::SplitBlur работает, смотреть надо что в hi элементе. Схемку для анализа, если можно.
карма: 1
слтв
0
Ответов: 1263
Рейтинг: 47
#23: 2013-08-30 16:52:16 ЛС | профиль | цитата
Интересно..

Схемку и измененный компонент выложил здесь, с описанием экспериментов:

http://forum.hiasm.com/forum.html?q=3&t=63190

Или вот:
janfx_1.1_mod.rar
barbie.rar
------------ Дoбавленo в 16.52:
Minkovsky, может поделитесь своим рабочим компонентом? Вместе со всей обвязкой-зависимостями (kolmath и пр.). Может, у меня кодогенератор левый - если не заработает ваш компонент..
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 211
Рейтинг: 52
#24: 2013-08-31 00:23:52 ЛС | профиль | цитата
Aziz, Для функций GetSrc в hiJanFX сделайте вставки bmp.PixelFormat:=pf24bit; (код ниже)
janFX оперирует 3 байтами для пиксела в массиве.
code_31708.txt
карма: 1
слтв
1
файлы: 1code_31708.txt [1.1KB] [420]
Голосовали:Aziz
Ответов: 1263
Рейтинг: 47
#25: 2013-08-31 10:04:14 ЛС | профиль | цитата
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
Hiasm + Flowstone + CopperCube + GoDot + JS
0
файлы: 1janfx_1.1_mod1.rar [37.5KB] [362]
Ответов: 1263
Рейтинг: 47
#26: 2013-09-02 20:43:12 ЛС | профиль | цитата
Вот портировал и добавил эффект калейдоскопа. Оригинал кода прилагается. Там я немного понаставил еще более случайного изменения цветов в коде. Как толщину линий изменить - не знаю, не смог пока. Только, он скорее рисует линии чем обрабатывает изображения, кто сможет доделайте, будет здорово. В фотошопе такой эффект видел. Но все равно интересно получается, особенно совместив его с др. эффектами или с самим собой с разными настройками. Всех с днем моего рождения!
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 1925
Рейтинг: 172
#27: 2015-10-08 22:31:00 ЛС | профиль | цитата
Эх, забросил я этот компонент в своё время, но вот сейчас вернулся. Выложил обновлённую версию (2.0) в самый первый пост темы и комментарии там же. Теперь компоненту не нужные никакие kolmath, KOLjanFX - он почти полностью автономен.

Добавил пару функций, которые не усмотрел в прошлый раз. Иконку сделал. В общем, тестируйте на здоровье. Пишите пожелания, замечания, комментарии.


Но у меня есть несколько вопросов к знатокам.
1. Правильно ли организовал функцию GetSrc? Т.е. не будет ли такого, что обращаются к несозданному объекту (картинке) или, наоборот, утечки памяти?
2. В процедурах секции "---<Собственно эффекты>---": правильно ли то, что Fsrc после выдачи на событие не разрушается ф-цией Free_And_Nil? (Я разрушаю Fsrc, только если выдаётся Fdst.) Я постарался, чтобы не было разрушения объекта (Bitmap), если он будет использован в другом компоненте, но не будет ли тут утечки памяти в каких-то случаях?
3. Процедура _work_doStrecth. Value1 нельзя выставить меньше некоторого числа (обычно 1 или 2), причём число зависит от вида фильтра (Value2). Вылетает ошибка. С чем это может быть связано?
карма: 9
1
Голосовали:MAV
Ответов: 1304
Рейтинг: 405
#28: 2015-10-08 23:48:08 ЛС | профиль | цитата
3042, компонент позволяет преконвертировать картинку 24b в 16b, то есть (8b,8b,8b) на канал в 16b на канал, правильно я понимаю? Теперь вопрос можно ли полученную картинку сохранить в файл? Из доступных форматов png поддерживает 16b на канал. Попытался сохранить но всё равно в итоге получил 24b
fx_.sha

В вкратце для чего мне 16b, использую картинку в качестве карты высот.

ps; образец 16 битного изображения, полученного в фотошопе
256_h_.zip


карма: 3

0
файлы: 1256_h_.zip [120KB] [584]
Ответов: 1925
Рейтинг: 172
#29: 2015-10-09 01:08:58 ЛС | профиль | цитата
MAV, по ссылке - error.
------------ Дoбавленo в 01.08:
MAV, 16b - это не на канал, а на пиксель. Но у меня тоже почему-то не сохранят компонент png 16-битную картинку (получается 24). Хотя 8-битную, полученную через тот же janFX, сохранят отлично.
карма: 9
0
Ответов: 2200
Рейтинг: 673
#30: 2015-10-09 02:02:47 ЛС | профиль | цитата
3042, а примерчик небольшой в архив с элементом положить?
карма: 11

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)