Skip to content

KTX 2.1 Drawing Update

Compare
Choose a tag to compare
@AIexandrKotov AIexandrKotov released this 30 Dec 13:47
· 37 commits to master since this release
0e0677d

Drawing Update содержит большое количество изменений системы рисования, а также новую версию конвертации рисунков в .ktx и DrawBoxBlock.

Список нововведений:

— Новая система конвертации цветов. Системы конвертации цветов разделены на new и old

Что бы изменить тип конвертации (стандартный - new) необходимо написать так:

begin
  Drawing.RGBConvertingType := RGBToColorConvertType.old;
  Drawing.RGBConvertingType := RGBToColorConvertType.new;
end.

— Обновление процедур рисования.

Теперь у каждого вида рисования 8 перегрузок процедуры и есть единая процедура рисования Draw, которая также есть как метод расширения класса DrawBoxBlock. Из-за чего стало возможным рисование одной строкой:

begin
  Drawing.BitMapToDrawBoxBlock('name.png').SetSize.Draw;
end.

Кроме всего прочего, добавлены отцентровки относительно сторон, углов и центра, добавлена возможность накладывать рисунки друг на друга. Добавлены стандартные значения отцентровок, наложения и типа вывода (по умолчанию - Center, False, Aline). Удалены процедуры DrawAll и HexDrawWithSearch, первая заменена процедурами DrawAline, вторая же покинула этот мир из-за своей бесполезности.

— Блок с клавишным вводом

Введён аналог Block — KeyBlock, в котором ввод идёт с помощью нажатий клавиш на клавиатуре.
KeyBlock создаётся следующим образом:

begin
  var menu := new KTX.KeyBlock;
  while menu do
  begin
    menu.Update;
    
    menu.Read;
    
    if menu.Output.Key = System.ConsoleKey.Escape then menu.Close;
  end;
end.