public class ImageUtil {
//放大缩小图片
public static Bitmap zoomBitmap(Bitmap bitmap,int w,int h){
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Matrix matrix = new Matrix();
float scaleWidht = ((float)w / width);
float scaleHeight = ((float)h / height);
matrix.postScale(scaleWidht, scaleHeight);
Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
return newbmp;
}
//将Drawable转化为Bitmap
public static Bitmap drawableToBitmap(Drawable drawable){
int width = drawable.getIntrinsicWidth();
int height = drawable.getIntrinsicHeight();
Bitmap bitmap = Bitmap.createBitmap(width, height,
drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0,0,width,height);
drawable.draw(canvas);
return bitmap;
}
//获得圆角图片的方法
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,float roundPx){
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
//获得带倒影的图片方法
public static Bitmap createReflectionImageWithOrigin(Bitmap bitmap){
final int reflectionGap = 4;
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Matrix matrix = new Matrix();
matrix.preScale(1, -1);
Bitmap reflectionImage = Bitmap.createBitmap(bitmap,
0, height/2, width, height/2, matrix, false);
Bitmap bitmapWithReflection = Bitmap.createBitmap(width, (height + height/2), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmapWithReflection);
canvas.drawBitmap(bitmap, 0, 0, null);
Paint deafalutPaint = new Paint();
canvas.drawRect(0, height,width,height + reflectionGap,
deafalutPaint);
canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null);
Paint paint = new Paint();
LinearGradient shader = new LinearGradient(0,
bitmap.getHeight(), 0, bitmapWithReflection.getHeight()
+ reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP);
paint.setShader(shader);
// Set the Transfer mode to be porter duff and destination in
paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
// Draw a rectangle using the paint with our linear gradient
canvas.drawRect(0, height, width, bitmapWithReflection.getHeight()
+ reflectionGap, paint);
return bitmapWithReflection;
}
}
分享到:
相关推荐
总的来说,"扑克牌52张单图"这一主题涵盖了图像资源的管理、游戏开发中的图像应用、编程中的图像处理以及数据可视化等多个IT领域的知识点。理解和掌握这些内容,对于从事相关工作的专业人士来说,是十分必要的。
在IT领域,图像处理和设计工作常常涉及到各种素材的使用,比如我们今天提到的"54张扑克牌高清免抠版"。这是一个包含54张高清扑克牌图像的资源包,特别适合个人学习、设计练习或者非商业项目使用。下面我们将深入探讨...
根据提供的文档内容,我们...本实验通过设计和实现一个简单的纸牌游戏,让学生能够在实践中学习和掌握面向对象编程的核心概念和技术。通过具体的类设计和实现细节,学生能够更好地理解面向对象编程的优势和应用场景。
4. **资源管理**:在".spr"文件中存储的是游戏的资源,如图片、动画帧等。这些通常需要通过特定的库或API来加载和显示,例如GDI(Graphics Device Interface)或DirectX。 5. **配置文件**:"配置在ini里面"意味着...
游戏中可能包含一些图片资源,如不同面的牌的图像,这些资源需要在res/drawable目录下管理。此外,如果游戏有音效,音频文件则应放在res/raw目录下。 最后,考虑到用户体验,游戏还可能包含一些额外的功能,如重置...
《ImSolitaire:基于Cocos2D的纸牌游戏开发详解》 在移动游戏领域,Cocos2D是一个广泛使用的2D游戏开发框架,尤其在iOS平台上,Objective-C是其主要编程语言。本文将深入探讨如何使用Objective-C和Cocos2D框架来...
《网络版自由单元:JavaScript与jQuery打造的单人纸牌游戏》 自由单元(Freecell)是一款广受欢迎的单人纸牌游戏,它以其独特的挑战性和策略性吸引了众多玩家。而“Freecell-Web”是专为网络环境设计的版本,利用了...
其基本规则是:从四张1到13的扑克牌中,通过加减乘除以及括号的使用,使得运算结果为24。然而,这里我们讨论的是24点游戏的扩展版本,它不限定于四个数字,而是可以使用任意数量的数字,目标是得出任意预设的结果,...
4. **资源文件**:可能包含`images`或`assets`文件夹,存储了游戏中使用的图片、图标和其他媒体资源。 5. **公共库和工具**:可能有`utils`或`lib`文件夹,包含了一些常用的函数或者第三方库,用来简化代码复用和...
2. **casual.js**:可能是一个专门用于游戏开发的JavaScript库,提供了一些游戏开发中的常用工具和函数,如随机数生成、动画效果等,以简化游戏开发过程。 3. **ddz.js**:这是斗地主游戏的核心代码文件,包含了...
在这个项目中,JavaScript可能被用来处理用户输入、更新界面、执行复杂的算法等功能,使得扑克助手能够实时响应用户的操作。 在"chips-master"这个压缩包文件名中,“master”通常是Git版本控制系统中的主分支,...
13. **纸牌游戏**:纸牌游戏是Windows操作系统内置的小游戏,可以帮助用户练习鼠标操作,如单击、拖动和双击。 14. **打字游戏**:如金山打字2003中的游戏,可以提升用户的打字速度和准确性。 15. **Windows**:是...
"Draw Poker"是一款基于Java编程语言开发的简单扑克游戏,最初设计为命令行版本,意味着玩家通过文本输入来参与游戏。然而,开发者正计划将其升级为图形用户界面(GUI)形式,以提供更直观、友好的用户体验。在这个...
"Projeto04-ParrotCardGame"是一个基于JavaScript的项目,旨在开发一款鹦鹉主题的纸牌游戏。在这个项目中,我们将深入探讨JavaScript的核心概念和技术,以及如何将它们应用于创建一个互动的游戏体验。 首先,...
g011.zip 生命游戏源程序(12KB) 588,g010.zip 一个精灵游戏源程序(33KB) 589,g009.zip 翻转棋游戏(64子, 每子正反面分别为黑白两色, 两人对弈)的源程序(29) 590,g008.zip 纸牌游戏源程序(45KB)...
"扑克牌控件 1.0.npk"和"扑克牌控件 1.0.ocx"是游戏中的控件文件,可能是专门用于显示和操作扑克牌的动态链接库(DLL)或ActiveX控件。这类控件简化了开发者处理扑克牌显示和交互的工作,提供了标准的扑克牌样式和...
默笙网页在线工具箱源码是一款聚合了30常用工具的实用软件,这里有,在线生成二维码,胜利纸牌,在线生成整人,音悦台解析等等,还可以在线玩游戏,处理图片等等,后期还会增加更多功能,有需要的朋友欢迎使用。...
文档还可能涵盖一些经典的应用小程序,如控制面板的各种设置工具,以及一些内置的游戏,如"纸牌"和"麻将"。 值得注意的是,Windows 95的兼容性也是其一大亮点,它支持DOS程序和早期的16位Windows程序,使得许多旧的...