[英]How to save picture (applied glsl effects) captured by camera in Android?
我已經通過OpenGL ES 2.0着色器對相機預覽應用了一些效果。 接下來,我想保存這些效果圖片(灰度,負...)
我在onDrawFrame()中調用glReadPixels(),根據我從opengl幀緩沖區讀取的像素創建一個位圖,然后將其保存到設備存儲中。
但是,通過這種方式,我只能“快照”相機效果預覽。 換句話說,保存的圖像分辨率(例如:800 * 480)與Camera.PictureCallback(例如:1920 * 1080)拍攝的圖像不同。
我知道setPreviewSize()可以改變預覽大小,但最終不能等於圖片大小。
那么,是否可以使用glsl着色器直接通過Camera.PictureCallback來發布處理過程? 或者還有另一種方法來實現同一目標?
任何建議將不勝感激。 謝謝。
賈斯汀,這是我對setPreviewTexture 問題 (),而不是建議。 如果您發送從onPreviewFrame()回調收到的像素數據,它自然會受到支持的預覽大小的限制。
您可以使用相同的邏輯將像素從onPictureTaken()推送到紋理,但是您應該將它們從JPEG格式解碼為RGB。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.