GlSurfaceView üzerindeki bitmap üzerinde birden çok efekt vermek için bu kodu kullanıyorum. apply-effects-on-image-using-effectsGLSurfaceView'den bitmap nasıl kaydedilir (Sadece tüm bitmap değil, tüm doku)
Şimdi, bitmapi kaydetmek istiyorum. Bitmap'i kaydetmek için kod verdiler ama bununla birlikte, tüm GlSurfaceView bitmap görüntüsü olarak kaydedilecek. Bunun yerine Resim olarak kaydetmek için yalnızca bitmap alanını kaydetmek istiyorum.
Piksel alan ve bundan bitmap yapan ve ayrıca görüntü yapan yöntem vardır. Bitmap üst koordinat sol ile ör .:
sanırımpublic Bitmap takeScreenshot(GL10 mGL) {
final int mWidth = mEffectView.getWidth();
final int mHeight = mEffectView.getHeight();
IntBuffer ib = IntBuffer.allocate(mWidth * mHeight);
IntBuffer ibt = IntBuffer.allocate(mWidth * mHeight);
mGL.glReadPixels(0, 0, mWidth, mHeight, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, ib);
// Convert upside down mirror-reversed image to right-side up normal
// image.
for (int i = 0; i < mHeight; i++) {
for (int j = 0; j < mWidth; j++) {
ibt.put((mHeight - i - 1) * mWidth + j, ib.get(i * mWidth + j));
}
}
Bitmap mBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);
mBitmap.copyPixelsFromBuffer(ibt);
return mBitmap;
}
, ben bunun yerine 0, 0 ile başlamıyorsa olmak gibi güncellemek gerekir ki başlamak gerekir. Ve bu bitmap yükseklik ve genişliğe kadar çalışmalıdır.
Böylece, sorunumu çözebiliyor ancak GLSurfaceView'daki bitmap görüntüsünün koordinatını nasıl alacağımı bilmiyorum.
Lütfen daha fazla bilgi için aşağıdaki resmi kontrol ediniz.
Orjinal Resim:
Yüklendi etkisi ekranında resim:
Görüntü efekti uygulandıktan sonra ve kaydettikten:
Bu, ne isterse budur.
GLSurfaceView'in yüzeyi, üzerinde tam olarak çizdiğiniz şeyi içerir. Resmi çizerken koordinatları belirttiğinizden, görüntüyü okumak istediğinizde neden koordinatları bilmediğinizi anlamıyorum. – fadden
@fadden OpenGL-es ile pek iyi değilim. Kodum, sorumu verdiğim bağlantı ile neredeyse aynı. Şimdi Görüntü koordinatını almak ve sadece görüntü bölümünü etkisiz hale getirmek için lütfen cevap verebilir misiniz? –
Görüntüyü neden daha sonra kırpmıyorsunuz? – jyoon