how to rotate ans resize images(Bitmaps) using a Matrix.
public class bitmaptest extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
LinearLayout linLayout = new LinearLayout(this);
// load the origial BitMap (500 x 500 px)
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),
R.drawable.android);
int width = bitmapOrg.width();
int height = bitmapOrg.height();
int newWidth = 200;
int newHeight = 200;
// calculate the scale - in this case = 0.4f
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
// createa matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// rotate the Bitmap
matrix.postRotate(45);
// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
width, height, matrix, true);
// make a Drawable from Bitmap to allow to set the BitMap
// to the ImageView, ImageButton or what ever
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
ImageView imageView = new ImageView(this);
// set the Drawable on the ImageView
imageView.setImageDrawable(bmd);
// center the Image
imageView.setScaleType(ScaleType.CENTER);
// add ImageView to the Layout
linLayout.addView(imageView,
new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT
)
);
// set LinearLayout as ContentView
setContentView(linLayout);
}
}
分享到:
相关推荐
$image = Image::make('public/images/example.jpg')->resize(800, null, function ($constraint) { $constraint->aspectRatio(); }); $image->save('public/images/resized_example.jpg'); ``` **2.3 图像裁剪** ...
$image->resize(200, 200); ``` 3. **应用效果**:你可以对图像应用各种效果,如旋转、模糊、锐化等。例如,逆时针旋转 90 度: ```php $image->rotate(-90); ``` 4. **保存图像**:处理后的图像可以保存到本地或...
$image = Image::make('public/images/example.jpg'); $image->resize(800, null, function ($constraint) { $constraint->aspectRatio(); }); $image->save('public/images/resized_example.jpg'); ``` ### 4. ...
- **图像操作**: 包括缩放(`resize()`)、平移(`translate()`)、旋转(`rotate()`)和裁剪(`crop()`)等。 4. **动画与运动** - **运动和位置控制**: 可以通过更新物体的位置变量(如 `x` 和 `y`)实现物体的...
`Ti.UI.createImageModule` 提供了这些方法,例如 `resize()` 可以调整图像大小,`rotate()` 可以实现旋转,`transform()` 允许应用更复杂的图形变换。同时,可以使用 CSS3 样式来添加滤镜效果,提高用户界面的视觉...
- **处理图像**:使用提供的API进行图像操作,如`Resize()`、`Rotate()`等。 - **保存图像**:完成处理后,调用`SaveBmp()`、`SaveJpg()`或`SavePng()`保存结果。 - **释放资源**:最后,记得释放xImage对象,释放...
$image = Image::load('http://example.com/image.jpg')->resize(800, null); ``` 最后,可以使用 `url()` 方法获取处理后的图像 URL 或 `save()` 方法保存到服务器。 4. **高级用法** - **水印**:`Powerimage...
(illusioniste/transform-image image-byte-array (rotate 90.0) (crop 140 100) (resize 80 80)) ;; returns jpeg byte array rotated 90 degrees, ;; cropped to 140x100 ;; and subsequently resiz
PIL库提供了丰富的函数和方法,如`crop()`, `resize()`, `rotate()`, `convert()`等,以满足各种图像处理需求。 总之,PIL库的`Image`模块是Python中处理图像的强大工具。通过`open()`方法读取本地图片,配合`...
<END><br>58,rotate.zip This example shows you how to create a circular form, and also track the mouse around the screen <END><br>59,tilebackground.zip Tile a picture on the BG of a form....
image = Image.open('example.jpg') ``` 2. 显示图像:Pillow并没有内置显示图像的功能,但可以借助第三方库如matplotlib来展示。 ```python import matplotlib.pyplot as plt plt.imshow(image) plt.show() ``` ...
rotated_image = image.rotate(90, resample=Image.BICUBIC) ``` 总的来说,Pillow库是Python开发者处理图像时不可或缺的工具。通过Pillow-3.1.2.zip这个压缩包,我们可以深入了解和学习Pillow的内部实现,以及如何...
- `resize`:改变图像大小。 - `rotate`:旋转图像。 - `save`:保存图像到文件。 - `seek`:移动到图像序列中的下一个图像。 - `show`:显示图像。 - `split`:将图像分割成单独的通道。 - `tell`:获取当前...
- **缩放与旋转**:`resize()`和`rotate()`方法用于改变图像大小和角度。如`img.resize((new_width, new_height))`,`img.rotate(angle)`。 - **裁剪**:使用`crop()`方法,传入一个四元素元组表示矩形区域,如`...
img = Image.open("example.jpg") ``` 这个`img`对象就可以进行各种图像处理操作。PIL支持多种文件格式,包括JPEG、PNG、BMP、GIF、TIFF等。 PIL提供了多种图像处理功能,例如: 1. **尺寸调整**:使用`resize()`...
img = Image.open('example.jpg') img.show() ``` - **图像裁剪**: ```python cropped_img = img.crop((left, top, right, bottom)) ``` - **旋转图像**: ```python rotated_img = img.rotate(angle, ...
img = Image.open('example.jpg') ``` 2. 显示图像: ```python img.show() ``` 3. 裁剪图像: ```python cropped_img = img.crop((left, upper, right, lower)) ``` 4. 旋转图像: ```python rotated_img = ...
例如,使用rotate()方法可以旋转图像,使用resize()方法可以调整图像大小。这些方法都是Image.Image类中定义的。 5. 图像增强:PIL的ImageEnhance模块提供了增强图像特定属性的功能,比如增强图像的对比度、亮度、...
例如,通过`crop()`函数可裁剪图像,`rotate()`函数实现旋转,`resize()`用于调整图像大小,`transpose()`可实现水平或垂直翻转。 4. 颜色空间转换:Pillow支持RGB、灰度、CMYK等多种颜色模式之间的转换,这对于...