Làm cách nào để có thể quay số Drawable
từ tài nguyên được quay khi được vẽ? Ví dụ, tôi muốn vẽ một mũi tên và có thể xoay nó theo hướng khác nhau khi nó được vẽ?Xoay một bản vẽ trong Android
Trả lời
Bạn cần phải sử dụng chức năng Bitmap và Canvas Class để chuẩn bị drawable:
Bitmap bmpOriginal = BitmapFactory.decodeResource(this.getResources(), R.drawable.image2);
Bitmap bmResult = Bitmap.createBitmap(bmpOriginal.getWidth(), bmpOriginal.getHeight(), Bitmap.Config.ARGB_8888);
Canvas tempCanvas = new Canvas(bmResult);
tempCanvas.rotate(90, bmpOriginal.getWidth()/2, bmpOriginal.getHeight()/2);
tempCanvas.drawBitmap(bmpOriginal, 0, 0, null);
mImageView.setImageBitmap(bmResult);
Trong mẫu mã này quay 90 độ trên trung tâm hình ảnh xảy ra.
OK, Nếu bạn cần tạo hình bán trong suốt hoặc cần tính năng thu phóng, bạn cũng có thể kiểm tra http://stackoverflow.com/questions/4688306/how-can-i-make-image-opaque-to-some- này mức độ/4689624 # 4689624 – Zelimir
Hoạt động tốt nếu bitmap gốc là hình vuông:) .... nếu nó không đúng? – Jay
Hoạt động tốt cho tôi. Vấn đề bạn gặp phải là gì? – Zelimir
cơ bản này: link
ImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage);
Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);
spaceshipImage.startAnimation(hyperspaceJumpAnimation);
nguồn:
http://developer.android.com/guide/topics/graphics/2d-graphics.html#tween-animation
Không phải những gì người hỏi muốn, điều này xoay giữa một loạt các hình ảnh, những gì đã được mong muốn là một vòng quay phẳng của một hình ảnh duy nhất! – fredley
Trên thực tế, bạn có thể thực hiện phép quay (trên một bản vẽ) với một hoạt hình tween. http://developer.android.com/guide/topics/resources/animation-resource.html#Tween – edthethird
Ed, cảm ơn sự hỗ trợ. –
về cơ bản nó có thể được luộc xuống: làm một (n nghịch đảo) chuyển đổi vải thay vì chuyển drawable
private BitmapDrawable drawable; // or Drawable
protected void onDraw(Canvas canvas) { // inherited from View
//...
canvas.save();
canvas.rotate(degrees, pivotX, pivotY);
drawable.draw(canvas);
canvas.restore();
//...
}
nếu bạn có BitmapDrawable nó có thể được mong muốn để tăng chất lượng đầu ra bằng cách thiết lập khử răng cưa
drawable.setAntialias(true);
tôi nghĩ đây là giải pháp hiệu quả nhất hiện nay –
Thực tế canvas.rotate() đã được thực hiện _before_ vẽ hình vẽ. – Ridcully
bạn không bỏ lỡ việc thực hiện chức năng onMeasure? –
Câu trả lời được chấp nhận không phù hợp với tôi. Tôi có hình ảnh không vuông, vì vậy tôi đã thay đổi mã của mình một chút.
private Bitmap rotateDrawable(@DrawableRes int resId) {
Bitmap bmpOriginal = BitmapFactory.decodeResource(getResources(), resId);
Bitmap bmpResult = Bitmap.createBitmap(bmpOriginal.getHeight(), bmpOriginal.getWidth(), Bitmap.Config.ARGB_8888);
Canvas tempCanvas = new Canvas(bmpResult);
int pivot = bmpOriginal.getHeight()/2;
tempCanvas.rotate(90, pivot, pivot);
tempCanvas.drawBitmap(bmpOriginal, 0, 0, null);
return bmpResult;
}
mImageView.setImageBitmap(rotateDrawable(R.drawable.some_image));
- 1. Vẽ một BitmapFont được xoay trong libgdx
- 2. Có thể xoay bản vẽ trong mô tả xml không?
- 3. Tạo một bản vẽ trống trong Android
- 4. Vẽ xoay văn bản với NSString drawInRect
- 5. Vẽ một Văn bản được Xoay sang một Hình ảnh trong C#
- 6. Xoay một VideoView android
- 7. Xoay MapView trong Android
- 8. bản đồ android tự động xoay
- 9. Vẽ Hình chữ nhật Xoay
- 10. Bản đồ Android v2 xoay bản đồXem với la bàn
- 11. Bản vẽ canvas SurfaceView của Android với một chủ đề
- 12. Android - Xoay màn hình xoay
- 13. Xoay bitmap trên Android Canvas
- 14. Xoay một mảng byte YUV trên Android
- 15. bản vẽ android trên sự kiện chạm
- 16. Bộ nhớ cache bản vẽ Android
- 17. Vẽ Chín Bản vá lên Canvas (Android)
- 18. Hiệu quả về bản vẽ canvas android
- 19. Xoay hình ảnh trong android
- 20. Android emulator - Màn hình xoay
- 21. Xoay ảnh. Danh sách hoạt ảnh hoặc xoay động? (Android)
- 22. Tái chế Bản đồ Android V2 Hỗ trợMapFragment khi xoay
- 23. Android: Xoay hình ảnh trong hình ảnh bằng một góc
- 24. Cách tắt tính năng xoay bản đồ trong Phân đoạn Bản đồ Android
- 25. Xoay hoạt ảnh android
- 26. Xoay bitmap đã lưu trong android
- 27. Xử lý hoạt động xoay trong Android
- 28. Xử lý xoay màn hình trong Android
- 29. tôn vinh khóa xoay trong android
- 30. Xoay VideoCapture trong OpenCV trên Android
có thể trùng lặp [Làm cách nào để vẽ mũi tên chỉ đường lái xe trong MapView?] (Http://stackoverflow.com/questions/4331794/how-can-i-draw-an-arrow-showing -e-driving-direction-in-mapview) – Jonas
Câu hỏi này khá khác, nhưng tôi nghĩ câu trả lời có thể liên quan. – Computerish