Arbeits-und getesteten Code unten.
private void applyTransformToImageView(int code)
{
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);
switch (code)
{
case CHANGE_TRANSPARENCY:
{
Paint alphaPaint = new Paint();
alphaPaint.setAlpha(128);
tempCanvas.drawBitmap(bmpOriginal, 0, 0, alphaPaint);
}
break;
case ROTATE:
{
tempCanvas.rotate(90, bmpOriginal.getWidth()/2, bmpOriginal.getHeight()/2);
tempCanvas.drawBitmap(bmpOriginal, 0, 0, null);
}
break;
case ZOOM_IN:
{
Rect zoomRegion = new Rect();
zoomRegion.left = 0;
zoomRegion.top = 0;
zoomRegion.right = bmpOriginal.getWidth()/2;
zoomRegion.bottom = bmpOriginal.getHeight()/2;
Rect display = new Rect();
display.left = 0;
display.top = 0;
display.right = bmpOriginal.getWidth();
display.bottom = bmpOriginal.getHeight();
tempCanvas.drawBitmap(bmpOriginal, zoomRegion, display, null);
}
break;
default:
}
mImageView.setImageBitmap(bmResult);
}
- Sätze alpha zu semi-transparent - Wert 128
- dreht sich um das Zentrum Originalbild für 90 Grad
- Zoom in linken oberen Quadranten des ursprünglichen Bildes
Ein Weg, ich bin Beachten Sie, dass die Bildvorverarbeitung (mit Bitmap-Funktionen dafür) und dann dynamisch (vom Code) als Hintergrund für Relatives Layout oder src für ImageView durchgeführt wird. Aber ich denke, es ist nicht das, was du willst. Sie möchten das von der Steuerung selbst aus tun, aber ich sehe keine Eigenschaft außer vielleicht Style. – Zelimir
@Zelimir - können Sie mit Beispiel erklären, dass Sie wissen – Nikki
Ich habe meine Antwort hinzugefügt. Es beschreibt das Prinzip, so dass Sie es leicht an Ihre Bedürfnisse anpassen können. – Zelimir