Изменение размера холста Android с несколькими цветами

У меня есть объект Canvas в начале. Мне нужно изменить цвет некоторых пикселей в зависимости от их текущего цвета. Как я могу сделать это правильно?

Детали:

У меня есть собственный класс, расширенный от ImageView . В onDraw(Canvas canvas) я рисую что-то с сторонним классом и имею только объект Canvas с результатом. Мне нужно после этого изменить цвет некоторых пикселей в зависимости от их текущего цвета.

Предполагая, что у вас есть объект android.graphics.Canvas называемый canvas а X & Y – это точки, в которых вы хотите изменить пиксель, так что вы идете

Вызов :

 canvas.drawPoint(X, Y, paint); 

Вот как вы инициализируете объект класса android.graphics.Paint то есть краску

 Paint paint = new Paint(); paint.setStyle(Paint.Style.FILL); paint.setColor(Color.WHITE); 

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

Есть, вероятно, дюжина способов сделать это. Если вы хотите сделать подход Canvas, есть способ рисовать объект Bitmap. Затем вы можете нарисовать объект на другой холст. Объект Bitmap также может иметь функции для изменения пикселей.

Растровое изображение также позволяет получить копию в буфер, и если вы знаете, как хранятся пиксели, это будет очень быстрый способ манипулирования изображениями. Я не уверен, что у Canvas есть это

Я рекомендую взглянуть на более быстрый способ установить цвет растрового изображения (PNG) вместо пикселя на пиксель . Он имеет код для получения и установки цветов растровых изображений по пикселям (в вопросе), а также предложение альтернативы пиксельному подходу (в ответе). Также возможно полезно: Объяснение метода getPixels для растрового изображения в Android .

Intereting Posts
Android: передача AppWidgetId на службу Можно ли использовать переднюю и заднюю камеры одновременно в Android Как зарегистрировать нового пользователя в XMPP, используя (a) Библиотека Smack TextView.getSelectionEnd () возвращает значение начального индекса для устройств Samsung Marshmallow 6.0 PhoneGap 3 плагин: exec () вызов неизвестного плагина "…" Android Studio, как запустить градиентную синхронизацию вручную? Crashlytics Android Studio Не удается запустить: NoClassDefFoundError: javax / swing / SwingUtilities Как создать готовый оператор sqlite в OrmLite? Response-native run-android DeviceException Не удалось создать мост ADB Объект не может быть передан в Void в AsyncTask Как правильно настроить будильник в фиксированное время? Как вручную установить java-библиотеки и сохранить / tmp как noexec? Вид не прикреплен к окну Как диалоговое окно ANR Error отображается в основном потоке Определите, какой AlertDialog запускается onClick (диалог DialogInterface, int which)