Разработвам един проект, който се използва за прилагане на някои ефекти върху изображението, което ще бъде избрано от галерията или заснето с камера.
Използвах GPUImageView за прилагане на различни ефекти върху изображенията, а също и внедрена лента за търсене за увеличаване и намаляване на ефектите. Всичко работи добре.
Проблемът е, че сега искам да запазя изображението с приложените ефекти в sdcard. Написах кода за него и работи успешно, но изображението е запазено и остава черно. Всеки път, когато проверявам изображението от sdcard, то не показва модифицираното изображение, освен черен екран.
Не знам защо показва черно изображение.
Ето кода, в който съм направил GPUImageView
като drawingcachedenактивиран на true и го запазвам като изображение.
mGPUImageView.setDrawingCacheEnabled(true);
Bitmap bitmap = mGPUImageView.getDrawingCache();
String path = Environment.getExternalStorageDirectory()
.getAbsolutePath();
File fil = new File(path + "/MyPics");
fil.mkdir();
Random rand = new Random();
int aa = rand.nextInt();
String filename = "Photo" + aa+".jpg";
File newImg = new File(fil, filename);
try {
FileOutputStream out = new FileOutputStream(newImg);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
}
Toast.makeText(this,"File Saved at Path---->" + newImg.getAbsolutePath(),
Toast.LENGTH_LONG).show();
mGPUImageView.setDrawingCacheEnabled(false);
Моля, помогнете ми да реша проблема.
GLSurfaceView
е доста различно от нормалнотоView
. Така че не можете да получите съдържанието наGLSurfaceView
с помощта наgetDrawingcache()
, тъй като всичко се изобразява наGLSurfaceView
с помощта на GPU. и този отговор може да ви помогне.. . - person Gopal Gopi   schedule 26.03.2014saveToPictures()
метода наGPUImageView.java
?? Има ли някакъв проблем?? - person user370305   schedule 26.03.2014GPUImageView
в logcat? - person user370305   schedule 26.03.2014OnPictureSavedListener
и слушателят иска Uri на изображението, което не е възможно да мине за мен. - person GrIsHu   schedule 26.03.2014public Bitmap getBitmapWithFilterApplied()
този метод наGPUImage.java
. Той ще върне ефекта, приложен към текущото растерно изображение и използвайки магазина на Bitmap Factory в Sdcard. - person user370305   schedule 26.03.2014GPUImage
източник на библиотека във вашия проект. - person user370305   schedule 26.03.2014GPUImage
кодът на библиотеката е тестван и работи добре. - person user370305   schedule 26.03.2014GPUImageView
неGPUImage
клас. - person GrIsHu   schedule 26.03.2014