Bir bitmap'i eğriltmek istiyorum (bu doğru sözcük değilse beni düzeltin) ve derinlikli görünmesini sağlayın. İstediğimi görselleştirmenin iyi bir yolu, Star Wars'un kredilerinin derinliği göstermek için nasıl açıldığıdır.Sadece dikey yönde bir bitmap'i eğme
Aşağıdaki denedim:
canvas.getMatrix().postSkew(kx,ky,px,py);
ve
canvas.skew(sx,sy);
Ama çok başarı olmadı. Yukarıdaki yöntemler her zaman bitmap'i bir paralelkenar haline dönüştürmektedir. Bitmap'i bunun yerine bir yamuk haline dönüştürmenin bir yolu var mı?
Burada, Romain'in beni işaret ettiği örneklerden aldığım bir kod pasajı var.
canvas.rotate(-mOrientation[0] + mHeading, mCenterX, mCenterY);
camera.save();
if (mReverse) {
camera.translate(0.0f, 0.0f, mDepthZ * interpolatedTime);
} else {
camera.translate(0.0f, 0.0f, mDepthZ * (1.0f - interpolatedTime));
}
camera.rotateX(mOrientation[1]);
camera.applyToCanvas(canvas);
canvas.drawPath(mPath, mPaint);
canvas.drawCircle(mCenterX, mCenterY, mRadius - 37, mPaint);
camera.restore();
Harika! Bunu bilmiyordum. –
Evet, ApiDemos - Rotate 3D Animation'da bu, Camera sınıfında bunu yapan bir örnek var. Yeni bir android proje oluşturun ve "mevcut örneklemden proje oluştur" u seçin, hedef os'u ve ardından ApiDemos'u seçin. Uygulama çalışırken Görünüm> Animasyon> 3D geçişi seç – Lumis
Animasyonların gitmenin yolu olmadığını düşünüyorum. Sabit bir cihaz sensörü değerleri (artırılmış gerçeklik) akışına dayalı olarak bir brandadaki grafikleri manipüle ediyorum. Bunu yapmanın başka bir yolu var mı? OpenGL gibi 3D grafikler kullanmalı mıyım? Teşekkürler. – mdupls