flash 交互操作:裁剪位图
玩过截图的人都知道截图是怎样一回事,通过截取图片一个地方就能够获取到图片某一个片段。这一个部分在flash 里面可以利用位图的复制像素来实现。通过copyPixels 或者draw 能够获取像素。
现在我们讨论一个话题:在flash里面怎样实现这种截图? 带着这个问题,尝试制作一个demo出来。功能就是获取位图。
所需要的材料:第一就是flash绘图API ,第二就是位图像素操作。利用这两个我们就能够实现出这种交互效果。
设计的图案:
制作思路:首先知道怎样绘制一个矩形,可以上网搜索一下,或者查询一些flash绘图API 是如何操作的。借助绘制这股矩形,我们就能截取到我们所需要的片段。
接下来,为程序写一个基类:Item.as
定义一些常用的方法和属性。
例如绘制矩形。获取位图,定义线条的样式等,判断矩形是否有效
这些方法都是定义在这个基础类当中。
package org.summerTree
{
//选择类基本设置
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.events.EventDispatcher;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Point;
public class Item extends EventDispatcher
{
public var LineColor:int=0x0000ff;//线条颜色
public var FillColor:int=0x0000ff;//填充的颜色
public var FillAlpha:Number=0.1;
public function Item()
{
}
//绘制矩形的基本方法
protected function DrawRect(shape:Sprite,rect:Rectangle):void
{
shape.graphics.clear();
shape.graphics.lineStyle(1,LineColor,1);
shape.graphics.beginFill(FillColor,FillAlpha);
shape.graphics.drawRect(rect.x,rect.y,rect.width,rect.height);
shape.graphics.endFill();
}
//判断rect是否有效
public function checkRect(rect:Rectangle):Boolean
{
return rect != null?true:false;
}
//定义样式
public function setStyle(lcolor:int,fcolor:int,aplha:Number):void
{
this.LineColor=lcolor;
this.FillColor=fcolor;
this.FillAlpha=aplha;
}
//获取位图
public function getImage(source:Bitmap,rect:Rectangle):Bitmap
{
var bitmapdata:BitmapData = source.bitmapData;
var Width:Number=Math.abs(rect.width);
相关文档:
Main.cpp (Win/*nix)
#include "FlexSecurityBox.h"
int main(int argc, char ** argv) {
char * address;
short port;
if (argc == 2)
{
address = "0.0.0.0";
port = atoi(argv[1]);
} else if (argc == 3)
{
address = argv[1];
port = atoi(argv[2]);
} else
{
printf("Y ......
ROM、RAM、DRAM、SRAM、FLASH的区别?
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类:一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快, ......
之前在Windows下用过Firefox的64位版本-Shiretoko,但是由于64位的flash player plugin一直安装不上,导致很多应用都用不了,据说可以使用NSPlugin Wrapper包和32位的类库来使用32位的flash player,我没有尝试。最近安装了64位的Gentoo,opera和shiretoko还是无法自动安装64位的flash player plugin。 ......
昨天看了IBM网站上写到rcp中运行open flash chart觉得不错自己就试着写了一下。
package com.chart.test;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.ole.win32.OLE;
import org.eclipse.swt.ole.win32.OleAutomation; ......
http://www.top000.com/mp3.html
这个页面中,里面那个播放器的swf本身的长宽是:360x50.
这里是这个页面的源代码:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh_cn" lang="zh_cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Mp3& ......