2014-12-02 3 views
2

Я пытаюсь изучить развитие мобильных телефонов Titanium.Как изменить цвет изображения в титане?

У меня есть изображение черной звезды на прозрачном фоне, и я хотел написать приложение, которое рандомизирует его цвет при прикосновении.

Я видел, что есть некоторые функции «blend mode», но они только для iOS. Есть ли способ сделать это, что работает в iOS и Android?

Большое спасибо

ответ

0

В конце концов, я использовал элемент HTML canvas внутри webview для решения моей проблемы.

Я написал пакет узлов для разбиения изображений на регионы и рендеринга их на холст.

https://www.npmjs.com/package/regioned-image

2

Нет, вы просто не можете изменить цвет изображения в титане. Если вы хотите достичь своей цели, я бы упростил бы форму, например, по кругу. Чтобы нарисовать круг, Использовать этот код:

var circle = Ti.UI.createImageView({ 
     width: 100, 
     height: 100, 
     borderRadius: 50, 
     backgroundColor: 'black' 
}); 

Чтобы изменить его цвет использовать этот слушатель событий:

circle.addEventListener("click", function(e){ 
    circle.backgroundColor = "red"; 
}); 

Это изменит только цвет на красный на первый щелчок. Если вы хотите рандомизировать цвета, вам нужно будет создать массив с цветами в нем. Затем используйте функцию тасования, чтобы получить случайный цвет, чтобы в конечном итоге установить его. Эта статья может быть полезна: shuffle

Удачи вам!

+0

Спасибо, но я действительно искал решение, которое работает на изображении, а не просто вид. Есть ли способ, с помощью которого я могу считывать данные изображения в блобе, а затем манипулировать им библиотекой изображений, а затем записывать обратно на изображение и отображать изображение? Это невозможно. – Chris

0

Я вижу некоторые варианты решения проблемы такого рода (вы должны проверить их):

  1. Одна из больших вещей о Titanium является то, что он позволяет вам создавать собственные собственные собственные модули, которые вы можете использовать как часть своего проекта. Вы даже можете написать свои собственные компоненты пользовательского интерфейса - так что в основном все, что вы можете сделать с родным, - теоретически вы можете сделать с Titanium.

  2. Предполагая, что вы не хотите работать с машинным кодом, и хотите придерживаться только то, что титан предлагает играет с накладками, как в следующем примере: https://developer.appcelerator.com/question/143156/placing-a-transparent-imageview-on-top-of-another-imageview

  3. Другой способ может быть с видом с цвет фона (который вы производите в случайном порядке), а поверх него - изображение, в котором все, что окружает звезду, имеет сплошной цвет, а форма звезды прозрачна.

Смежные вопросы