Вверх ↑
Этот топик читают: Гость
Ответов: 2236
Рейтинг: 676
#31: 2014-05-07 23:09:19 ЛС | профиль | цитата
Обновил архив: Добавлены изменения во все элементы графики, добавлены примеры.
У кого есть возможность протестируйте пожалуйста.
nesco, посмотрите Img_Poligon.
карма: 11

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#32: 2014-05-08 03:41:19 ЛС | профиль | цитата
sla8a писал(а):
посмотрите Img_Poligon

посмотрю, когда все доведешь до ума. Новые графические компоненты тоже добавь в общий архив
карма: 22

0
Ответов: 2236
Рейтинг: 676
#33: 2014-05-08 10:16:04 ЛС | профиль | цитата
nesco писал(а):
Новые графические компоненты тоже добавь в общий архив

В архиве как с новыми элементами в папки new идут и измененные элементы в папке change. В основном изменения в элементах коснулись только добавления трансформации. За исключением:
  • Img_Poligon: переделано многое, совместимость сохранена.
  • IMg_Point: заменил в двух местах LineTo(pDC, x1+1, y1+1); на LineTo(pDC, x1, y1); так как рисовалась не точка, а клякса.
  • карма: 11

    0
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #34: 2014-05-08 10:41:03 ЛС | профиль | цитата
    sla8a писал(а):
    В архиве как с новыми элементами в папки new идут и измененные элементы в папке change

    Я имел в виду компоненты Img_Edge и Img_TextInRect
    карма: 22

    0
    Ответов: 2236
    Рейтинг: 676
    #35: 2014-05-08 10:49:28 ЛС | профиль | цитата
    Обновил архив: добавил элементы Img_Edge и Img_TextInRect с примерами.
    карма: 11

    0
    Ответов: 4628
    Рейтинг: 749
    #36: 2014-05-08 12:10:00 ЛС | профиль | цитата
    Осмелюсь применить свой Share.pas к указанным элементам: transform ns proba.7z
    Отличия:
    - в share.pas внесены универсальные изменения, а не чисто под трансформации
    - как следствие, функции ReadTransform и dtTransform заменены на ReadObject и dtObject. В Img_Draw.pas генерируется "GUID" для типа PTransform.
    - объявление типов TTransformXXX и функция CreateTransform перенесены из share.pas в Img_Draw.pas как в модуль, используемый всеми компонентами графики (прописал также в некоторых hiImg_UseXXX.pas).
    [offtop]Посмотреть отличия можно в TotalCommander - "Синхронизировать каталоги", а затем по каждому файлу "Сравнить по содержимому"[/offtop]

    И ещё: есть применение функции CreateTransform для выделения памяти под структуру TTransform. Нигде не увидел освобождения этой памяти.

    PS: Img_MultiText не работает под FPC. Исправить строку 94:
    while GetTextExtentPoint32(DC, PChar(st.items[i]), Length(st.items[i]), SizeFont) and (i <= st.Count) do

    карма: 26

    1
    Голосовали:sla8a
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #37: 2014-05-08 12:20:49 ЛС | профиль | цитата
    sla8a, советую прислушаться к советам Netspirit-а и попытаться использовать его подход
    карма: 22

    0
    Ответов: 2236
    Рейтинг: 676
    #38: 2014-05-08 18:51:48 ЛС | профиль | цитата
    Да не против я, только за, если способ Netspirit более универсальный чем мой.

    Netspirit писал(а):
    применение функции CreateTransform для выделения памяти под структуру TTransform. Нигде не увидел освобождения этой памяти.
    Netspirit, давайте рассмотрим элемент StrList (Список строк), там в самом низу кода есть:
    CreateArray(_Set, _Get, _Count, _Add);
    , так я тоже не нашел где освобождается память.
    Netspirit писал(а):
    Img_MultiText не работает под FPC
    Это я не трогал, так что вопрос к авторам элемента.
    карма: 11

    0
    Ответов: 4628
    Рейтинг: 749
    #39: 2014-05-09 20:02:46 ЛС | профиль | цитата
    Вот здесь в StrList освобождается:
    
    #pas
    destructor THIStrList.Destroy;
    begin
    FList.Free;
    if Arr <> nil then dispose(Arr); //<<< ======
    inherited Destroy;
    end;
    sla8a писал(а):
    Это я не трогал
    Да, я знаю. Ну, раз всеравно вносил изменения, ничего страшного, если и это заодно поправишь.
    карма: 26

    1
    Голосовали:sla8a
    Ответов: 2236
    Рейтинг: 676
    #40: 2014-05-10 12:50:18 ЛС | профиль | цитата
    Обновил архив с следующими изменениями:
    1. Share.pas и Img_Draw.pas от Netspirit.
    2. Освобождение памяти в элементах трансформации.
    3. Отрисовка штриховой кисти на Context, в архив попал и Img_FloodFill (Заливка области в указанной точке).
    4. Img_MultiText подружил с FPC.
    карма: 11

    1
    Голосовали:flint2
    Ответов: 2236
    Рейтинг: 676
    #41: 2014-05-15 19:42:49 ЛС | профиль | цитата
    nesco, может обновите?
    [offtop]Мне скорее всего восстановить пароль на SVN не удастся. Переписывался с автором по этому поводу, но или ему сейчас не до этого или меня в игнор добавил.[/offtop]
    карма: 11

    0
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #42: 2014-05-15 19:55:08 ЛС | профиль | цитата
    sla8a писал(а):
    может обновите?

    Все, ты уже окончательно закончил доводку и тестирование
    карма: 22

    0
    Ответов: 8921
    Рейтинг: 823
    #43: 2014-05-15 19:58:44 ЛС | профиль | цитата
    nesco писал(а):
    ты уже окончательно закончил доводку и тестирование
    Включая недавно упомянутую коллизию (столкновение) плоских фигур?
    карма: 19

    0
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #44: 2014-05-15 20:00:21 ЛС | профиль | цитата
    Леонид писал(а):
    Включая недавно упомянутую коллизию (столкновение) плоских фигур?

    Все должно быть в одном архиве. Еще желательно указать, куда его добавить, в какую вкладку
    карма: 22

    0
    Ответов: 2236
    Рейтинг: 676
    #45: 2014-05-15 20:24:26 ЛС | профиль | цитата
    nesco писал(а):
    Все, ты уже окончательно закончил доводку и тестирование
    Лично мной протестированы все элементы не раз. Сами видели сколько попутно багов было выловлено в элементах графики. Плюс в тестировании и доработки участвовал Netspirit (за что ему еще раз спасибо), а две головы это всегда лучше чем одна. Конечно не исключаю что вылезет еще что-то, но пока полет нормальный.
    nesco писал(а):
    Еще желательно указать, куда его добавить, в какую вкладку
    Элементы рисования (Img_Edge и Img_TextInRect) в вкладку ГрафикаРисование сразу после Img_MultiText, а элементы трансформации в самый конец этой вкладки (ГрафикаРисование).
    Леонид писал(а):
    упомянутую коллизию
    Нужно с этими элементами разобраться, а потом в отдельную тему выложу на тестирование элементы в которых будет и коллизия. Но там еще нужно будет все хорошенько протестировать.
    карма: 11

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