Переопределить произвольные оттенки серого в SkiaSharp

Конечно, это прекрасный способ заполнить массив. Если вы хотите, чтобы он выполнялся немного быстрее, вы можете просто присвоить значение tata непосредственно индексу, а не вызвать array.push.

const arr2 = [pmt, ((1 + r) * pmt)];

for (let i = 1; i < n; i++) {
  arr2[i + 1] = Math.round((1 + r) * (pmt + arr2[i]));
}

В js массивы разрежены. Таким образом, вы можете воспользоваться этим, просто назначив значения индексу vs, нажимая на массив.

Если вы хотите сделать это еще быстрее, и если вы можете знать, какое конечное значение будет из начиная, вы можете перебирать назад, как:

for (let i = endLength; i--;) {
  arr2[i] = // do calculations here
}
1
задан jklemmack 18 January 2019 в 22:07
поделиться

1 ответ

Да, Skia / SkiaSharp позволит вам трансформировать цвета. Помимо использования матричного преобразования, вы можете использовать таблицы переназначения цветов.

Создайте SKColorFilter, используя SKColorFilter.CreateTable(alphaRemapTable, redRemapTable, blueRemapTable, greeenRemapTable)

Эти таблицы представляют собой байтовые массивы длиной 256 элементов. Преобразование работает так, что компонент начального цвета используется в качестве индекса для поиска значения, к которому он должен быть переназначен, например. 10 red преобразуется в значение в красном массиве с индексом 10.

Передача нулевого значения в любой из аргументов оставит этот компонент цвета без изменений.

Дополнительная информация: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/graphics/skiasharp/effects/color-filters

0
ответ дан Patrick Allwood 18 January 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: