canvas.drawbitmap,jpgbmpgif分别是什么意思了?
JPG:为常用图形文件、特点在于JPG文件小,但是是高压缩、对文件有破坏,但是大体颜色都保留了,适合颜色变化丰富时候的图片压缩。
GIF:CompuServe GIF也就是动态图形文件,网页常用.只适合颜色比较单一的图片压缩比较好,同时它支持动化比如你平时网上看见的很多小图标都是GIF的,它还支持透明背景
BMP:为Windows位图,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。
PNG:可移植的网络图象、它有一个ALPHA通道,同时支持透明背景,颜色压缩也比较好,如果不考虑兼容性的话,它在网页其实是不错的选择
PSD是美国Adobe Phtoshop专用文件格式.PSD文件可以存储成RGB或CMYK模式,还能够自定义颜色数并加以存储,还可以保存Photoshop的层、通道、路径等信息,是目前惟一能够支持全部图像色彩模式的格式,但体积庞大,在大多平面软件内部可以通用(如cd AI ae等),另外在一些其它类型编辑软件内也可使用,
cdr是加拿大公司出品的CorelDRAW专用文件格式.cdr可能在排版方面比ai略好一点,缩放等操作人性化一点;它和AI都属同一类的软件。矢量的、
AI:是美图Adobe Illustrator专用文件格式AI后缀的文件是指通过Adobe Illustrator(简称AI)软件储存得到的图片格式 这种格式的图片是矢量的,也就是说像freehand,Coredraw那样子的图片可以随意放大但不失真的那种
它和photoshop是同属Adobe公司的产品.
与AI格式类似基于矢量输出的格式还有EPS、WMF、CDR 、PLT、PDF
安卓图片局部放大镜效果怎么做?
可以通过以下步骤实现安卓图片局部放大镜效果:
1. 创建一个自定义的ImageView,继承自ImageView类。
2. 在onDraw()方法中,首先调用父类的onDraw()方法,绘制原始图片。
3. 然后根据触摸事件获取当前触摸点的坐标,以及放大镜的半径和中心点。
4. 把触摸点作为中心,根据半径画一个圆,然后裁剪出这个圆。
5. 接着,把原图按照当前放大倍数绘制到画布上,由于裁剪过,只有局部图像显示出来。
6. 最后,再画一个圆框,把局部图像圆形显示出来。
代码示例:
public class MagnifierImageView extends ImageView implements View.OnTouchListener {
private int radius;//放大镜半径
private int centerX;//放大镜中心x坐标
private int centerY;//放大镜中心y坐标
private int scale = 2;//放大倍数
private Paint circlePaint;//画圆的画笔
private Paint BitmapPaint;//绘制bitmap的画笔
private Bitmap bitmap;//原始图片
public MagnifierImageView(Context context) {
super(context);
init();
}
public MagnifierImageView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MagnifierImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
//初始化操作
private void init() {
circlePaint = new Paint();
circlePaint.setColor(Color.WHITE);
circlePaint.setStyle(Paint.Style.STROKE);
circlePaint.setStrokeWidth(2);
setOnTouchListener(this);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (bitmap == null) {
//获取原始图片
Drawable drawable = getDrawable();
if (drawable != null) {
bitmap = ((BitmapDrawable) drawable).getBitmap();
}
}
if (bitmap != null) {
//绘制圆形
canvas.drawCircle(centerX, centerY, radius, circlePaint);
//根据放大倍数获取局部图像
int x = centerX - radius;
int y = centerY - radius;
int width = radius * 2;
Bitmap tempBitmap = Bitmap.createBitmap(bitmap, x, y, width, width);
//缩小局部图像
Bitmap scaledBitmap = Bitmap.createScaledBitmap(tempBitmap, width / scale, width / scale, false);
//绘制局部图像
canvas.drawBitmap(scaledBitmap, x + radius / (scale * 2), y + radius / (scale * 2), bitmapPaint);
//绘制局部图像的圆框
canvas.drawCircle(centerX, centerY, radius / scale, circlePaint);
}
}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
//获取触摸点坐标
centerX = (int) motionEvent.getX();
centerY = (int) motionEvent.getY();
//设置放大镜半径
radius = getWidth() / 6;
//重绘界面
invalidate();
break;
case MotionEvent.ACTION_UP:
//取消放大镜
radius = ;
invalidate();
break;
}
return true;
}
}
在布局文件中引用该自定义ImageView即可:
<com.example.MagnifierImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/test_image"/>请问您需要我继续做什么?
如何制作一个简单的RPG游戏?
很高兴回答你的问题
开发单机游戏的想法,我自己曾经也有过,也曾经行动过,以自己的经验和了解,分析如下
1.如果你想制作的是一款电脑的单机游戏,我建议你用rpg游戏大师,你不用去学一些编程语言,绘画技术,建造模型,因为这中中里面这个软件都涵盖过了,里面的编程虽然不是很复杂,但是对于初学者来说是一个很好的学习工具,这个软件里面提供的素材十分的丰富,只要你把整个故事情节想好,在内容上添加相应的节点,通过自己的调试,就很容易得到一个单机游戏了,至于好不好玩就要看开发者的想象力,行动力和逻辑思维能力了。
2.如果你是想做一款手机游戏的话,我建议你学unity,cocos creator 。其中,unity是现今市场上很多手游端游的开发引擎,但是关键它是一款英文开发软件,汉化程度没有那么高,有些地方很难去理解,而且还要去学一些编程语言的基础,例如C语言,C++语言。我自身也接触过这款软件,如果你想入门的话,建议你看多一些课程,了解一些相关的案例,就很容易入门了。
cocos creator 它是一款由国内团队开发的二弟三弟,游戏开发软件。通俗易懂,相应的教程也很多,他的编程语言是js,我现在还在用这个软件来学习游戏开发。
以下是我接触过的软件,可以参考一下学习。
Photoshop 可以绘图,制作人物,皮肤,贴图
瓦片地图编辑器 可以编辑像素的方格地图
骨骼编辑器 可以用来制作游戏人物动作
3d max 和Maya 3d建模软件 人物或者场景都可以制作
像素制作软件 初学者建议使用
以上是我个人观点和经历,如有雷同,纯属巧合,欢迎评论吐槽转发,谢谢大家(^_^)
compex80中文使用说明?
DirectX中文手册
目 录
第一章 DirectX基础(初级篇)
第一节 什么是DirectX
一、什么是DirectX ?
二、DirectX的组成部分
三、关于DirectDraw
四、为什么要使用DirectDraw?
五、DirectX5.0的新特性?
六、什么是部件对象模型(COM)
七、自我检测
第二节 如何安装和使用DirectX
一、编译库和运行库
二、安装 VC++ 5.0
三、安装 DirectX5.0 的 SDK
四、DirectX 5.0 的文件说明
五、卸载 DirectX
第三节 一个DirectDraw入门程序
一、一个小测验
二、牛刀小试
三、分析代码
1)程序结构
2)定义和创建DirectDraw对象
3)设置控制级和显示模式
4)创建主页面
5)输出文字
6)释放对象
7)主窗口类型
四、小结
第四节DirectDraw图形编程基础知识
一、像素和分辨率
二、RGB色彩
三、设备无关位图(DIB)
四、位深度(Bit depth)
五、抖动处理(Dithering)
六、调色板(Palette)
七、GDI与DirectDraw
八、位块传送(Blit)
九、翻页(Page flipping)
十、矩形(Rectangle)
十一、精灵动画(Sprite animation)
十二、关键色(Color Key)
十三、补丁(Patching)
十四、范围检查与碰撞检测
第二章DirectDraw核心(高级篇)
第一节、 DirectDraw架构
一、DirectDraw结构概览
二、DirectDraw对象类型
三、硬件抽象层(HAL)
四、软件仿真层(HEL)
五、系统集成
第二节、控制级
第三节 显示模式
一、关于显示模式
二、测定支持的显示模式
三、设置显示模式
四、恢复显示模式
五、Mode X和Mode 13显示模式
六、对高分辨率和真彩色的支持
第四节 DirectDraw对象
一、什么是DirectDraw对象?
二、IDirectDraw2接口的新特性?
三、单进程的多DirectDraw对象
四、使用CoCreateInstance创建DirectDraw对象
第五节 页面
一、页面的基本概念
1)什么是页面
2)页面接口
3)宽度和宽距
4)关键色
5)像素格式
二、创建页面
1)创建主页面
2)创建离屏页面
3)创建复杂页面和换页链
4)创建超宽页面
三、换页
四、页面丢失
五、释放页面
六、更新页面属性
七、直接访问帧缓存
八、使用非本地视频RAM页面
九、色彩和格式转换
十、覆盖页面
1)覆盖页面概览
2)DDCAPS的重要成员和标志
3)源和目标矩形
4)边界和大小限制
5)最小和最大缩放系数
6)覆盖页面关键色
7)覆盖页面的定位
8)创建覆盖页面
9)覆盖页面的Z轴次序
10)覆盖页面的换页
十一、Blit到多窗口
第六节 调色板
一、什么是调色板?
二、调色板的种类
三、对非主页面设置调色板
四、共享调色板
五、调色板动画
第七节 裁减器
一、什么是“裁减器(Clipper)”对象
二、裁减清单(Clip list)
三、共享DirectDrawClipper对象
四、独立的DirectDrawClipper对象
五、用CoCreateInstance创建DirectDrawClipper对象
六、对系统鼠标使用裁减器
七、对多窗口使用Clipper
第八节 多显示器系统
一、在多显示器系统中列举显示设备
二、焦点窗口和设备窗口
三、设置焦点窗口和设备窗口
四、缺省设备窗口
五、多显示器系统中的显示设备与加速特性
第九节、高级DirectDraw主题
一、对Mode 13的支持
1)关于Mode 13
2)设置Mode 13
3)Mode 13与页面特性
4)使用Mode 13模式
二、从DMA中获益
1)关于DMA设备支持
2)对DMA支持的检测
3)典型的DMA方案
4)利用DMA
三、在窗口模式下使用调色板
1)窗口模式的调色板入口类型
2)在窗口模式下创建调色板
3)在窗口模式下设置调色板入口
四、获得换页和Blit操作的状态
五、使用Blit进行单色填充
六、测定显示硬件的能力
七、在视频RAM中储存位图
八、Triple Buffering(三缓冲)
九、DirectDraw应用程序和窗口风格
十、将真彩色匹配到帧缓冲区的色彩空间
flash怎么填充边框?
Flash可以通过以下步骤填充边框。可以通过使用选定矩形工具在边框里创建填充。在Flash软件中,在边框里创建填充是一种填充边框的方法。首先,选择选定矩形工具,将其沿着要填充边框的形状绘制出来,然后点击填充工具,选择颜色或渐变。最后,将镂空区域设置为0,即可完成填充。此外,你也可以在Flash中使用其他填充边框的方法,如描边和效果面板。描边可以让你用边框替代形状的填充,而效果面板可以帮助你创建复杂的效果,如渐变和图案。因此,选择适合自己的填充方法,可以帮助你更好地完成Flash设计工作。
还没有评论,来说两句吧...