Вверх ↑
Этот топик читают: Гость
Ответов: 757
Рейтинг: 111
#46: 2014-09-30 11:17:36 ЛС | профиль | цитата
Поправил схему от 1nd1g0 На первой странице
code_34375.txt
Можете объяснить простыми словами - почему с Label (Transparent=True) не мерцает, а без оного мерцает
sla8a, Респект и уважуха за компоненты
карма: 1

0
файлы: 1code_34375.txt [5.2KB] [219]
Разработчик
Ответов: 25681
Рейтинг: 2087
#47: 2014-09-30 11:27:28 ЛС | профиль | цитата
miver писал(а):
почему с Label (Transparent=True) не мерцает, а без оного мерцает

Не мерцает потому, что Transparent=True включает двойную буферизацию перерисовки
карма: 20

0
Ответов: 9906
Рейтинг: 351
#48: 2014-09-30 14:14:17 ЛС | профиль | цитата
У нутре КОЛ-а все это происходит..... Мы не виноватые
карма: 9

0
Ответов: 757
Рейтинг: 111
#49: 2014-10-19 00:45:37 ЛС | профиль | цитата
sla8a, В компоненте GP_Rotate замени тип угла поворота с integer на real
Исправленный код
procedure THIGP_Rotate._work_doRotate;
begin
_prop_Canvas.Set_Matrix;
_prop_Canvas.Get_Matrix.Rotate(ReadReal(_data,_data_angle,_prop_angle),TMatrixOrder(ReadInteger(_data,_data_MatrixOrder,_prop_MatrixOrder)));
if _prop_SetTransform then _prop_Canvas.Get_Canvas.SetTransform(_prop_Canvas.Get_Matrix);
_hi_CreateEvent(_Data,@_event_onRotate);
end;

procedure THIGP_Rotate._work_doRotateAt;
var x,y,angle:real;
begin
angle := ReadReal(_data,_data_angle,_prop_angle);
X := ReadInteger(_data,_data_X,_prop_X);
Y := ReadInteger(_data,_data_Y,_prop_Y);
_prop_Canvas.Set_Matrix;
_prop_Canvas.Get_Matrix.RotateAt(angle,MakePoint(X,Y),TMatrixOrder(ReadInteger(_data,_data_MatrixOrder,_prop_MatrixOrder)));
if _prop_SetTransform then _prop_Canvas.Get_Canvas.SetTransform(_prop_Canvas.Get_Matrix);
_hi_CreateEvent(_Data,@_event_onRotateAt);
end;
Ну и в свойствах не забудь поменять
карма: 1

0
Ответов: 1942
Рейтинг: 627
#50: 2014-10-19 01:18:35 ЛС | профиль | цитата
miver, поменять не сложно, вот нужен ли при повороте real?
карма: 9

0
Ответов: 757
Рейтинг: 111
#51: 2014-10-19 01:52:39 ЛС | профиль | цитата
sla8a, Мне понадобился, и вообще-то там во всех функциях прописан angle тип Single
Добавлю что - есть оно не просит и на совместимость не влияет
------------ Дoбавленo в 01.52:
На практике выливается в абсурд невозможности выполнения, когда нужно поделить круг на дробное количество сегментов, например, на 23
карма: 1

0
Ответов: 1942
Рейтинг: 627
#52: 2014-10-19 21:24:27 ЛС | профиль | цитата
miver писал(а):
тип угла поворота с integer на real
Внес изменения, в элемент GP_Rotate, обновил архив.
miver, а что удобней использовать трансформацию в GP_ элементах или в Img_ элементах?
карма: 9

1
Голосовали:miver
Ответов: 757
Рейтинг: 111
#53: 2014-10-19 23:31:59 ЛС | профиль | цитата
sla8a писал(а):
Внес изменения, в элемент GP_Rotate, обновил архив.
Посмотри GP_Arc. Там тоже есть углы
sla8a писал(а):
а что удобней использовать трансформацию в GP_ элементах или в Img_ элементах?
Не совсем понимаю суть вопроса. Мне понадобилась кое-какая визуализация
code_34460.txt
А как ее сделать на компонентах Img_ не знаю
карма: 1

0
файлы: 1code_34460.txt [11.1KB] [3818]
Ответов: 1942
Рейтинг: 627
#54: 2014-10-20 01:42:46 ЛС | профиль | цитата
Вот так это будет на элементах Img_: code_34461.txt
карма: 9

0
файлы: 1code_34461.txt [1.8KB] [265]
Ответов: 757
Рейтинг: 111
#55: 2014-10-20 13:37:35 ЛС | профиль | цитата
Итак, расскажу про свои мысли по этому поводу:
    - Вертикальный принцип Img_ немного удобней в плане отсутствия связей для выполнения поворота, но запутывает вокруг чего происходит поворот. А в GP_ наоборот, хорошо контролировать точку поворота и не нужно тянуть каждый раз линк от точки Transform (на равных)

    - В Img_ поворот делается от начального положения, а в GP_ от текущего. Что иногда приводит к погрешностям. Хорошо бы добавить эту возможность как опцию в GP_ (Img_ лучше)

    - В Img_ нету возможности поворачивать вокруг произвольной точки картинки, поэтому нужно делать смещение (GP_ лучше)
Итог: Для меня удобнее GP_. Повернул координатную сетку нарисовал что надо по новым координатам и дальше поворачиваешь. Но это дело привычки и чисто мое мнение

P.S.: Пожалуйста, поставь заплатку на отсутствие в GP_Canvas имени, а в остальных элементах - на не заполненное поле Canvas. А то когда забудешь поставить, в лучшем случае прога не запускается, а в худшем зависает комп. Лучше выводить ошибку в строке компиляции и пропускать соответствующий компонент
карма: 1

1
Голосовали:sla8a
Ответов: 1942
Рейтинг: 627
#56: 2014-10-20 22:55:21 ЛС | профиль | цитата
miver писал(а):
Пожалуйста, поставь заплатку на отсутствие в GP_Canvas имени, а в остальных элементах - на не заполненное поле Canvas. А то когда забудешь поставить, в лучшем случае прога не запускается, а в худшем зависает комп.
Поставил заплатки (обновил архив).
Кстати есть еще один элемент (Сложная градиентная кисть), из-за работы на двух машинах так и не вошедший в архив (надо будет принести).
карма: 9

1
Голосовали:miver
56
Сообщение
...
Прикрепленные файлы
(файлы не залиты)