Я разрабатываю один проект, который используется для применения некоторых эффектов к изображению, которое будет выбрано из галереи или снято с камеры.
Я использовал GPUImageView для применения различных эффектов к изображениям, а также реализована полоса поиска для увеличения и уменьшения эффектов. Все работает нормально.
Проблема в том, что теперь я хочу сохранить изображение с примененными эффектами на SD-карте. Я написал для него код, и он успешно работает, но изображение сохраняется и остается черным. Всякий раз, когда я проверяю изображение с SD-карты, оно не показывает измененное изображение, кроме черного экрана.
Я не знаю, почему он показывает черное изображение.
Вот код, в котором я сделал GPUImageView
as drawingcachedenabled значением 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
с использованием графического процессора. и этот ответ может вам помочь.. . - 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