Я боюсь, что у меня уже есть неудачный ответ на этот вопрос, но на всякий случай ... Я использую SurfaceView для обработки изображений с растровыми изображениями (модификации огней и цветов) и мне нужно будет импортировать измененное растровое изображение (то есть содержимое SurfaceView) в новое растровое изображение, чтобы сохранить его как файл изображения.Android: создание растрового изображения с содержимым SurfaceView
Я смотрю вокруг, и кажется, что можно получить растровое изображение из View.getDrawingCache(), но оно не работает с SurfaceView. Все, что я получаю, это пустая растровая карта.
Есть ли какие-либо решения?
Благодаря
Я хотел использовать это решение, но это невозможно с SurfaceViews, потому что процесс рисования выполняется в потоке, а холст получается из SurfaceHolder. Он используется следующим образом: canvas = surfaceHolder.lockCanvas (null); синхронизированный (surfaceHolder) {doDraw (холст); } –
Проблема решена. Я изменил SurfaceView на простой пользовательский вид. Затем, при создании чертежа Cache (setDrawingCacheEnabled (true)), когда создается представление, я могу получить растровое изображение, вызывающее метод getDrawingCache(). –
для вашего первого комментария, разве вы не могли бы просто вызвать doDraw с помощью холста, поддерживающего растровые изображения? 'if (screenGrab) {doDraw (c_fromMyPost); } else {doDraw (canvas_fromYourApp); } ' – idbrii