簡體   English   中英

如何在Android中保存相機拍攝的圖片(應用的glsl效果)?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM