当前位置: 首页 > 编程日记 > 正文

flash绘图API:恋上你的CD

     早上,我无意间碰撞到一个女孩,那时候,她匆匆忙地走了。从她的口袋里面掉下了一本陈旧的书,在哪里我看到她藏在书中的那封陈旧的信和cd。我好奇打开它,一边听着她那张cd,一边看她的写的信,忽然间有一种恋上她的感觉。我深深地被那声音和文字吸引,每次站在校园路上,总是想找到那个女孩,每一分每一秒,我心期盼再次能够看到你那细腻的笔迹和温柔的声音。

    而你在哪里?

package { import flash.display.*; import flash.net.*; import flash.events.*; import flash.filters.*; import flash.geom.*; public class LoveCD extends Sprite { private var radius:Number; private var _bitmap:Bitmap; public static const LOAD_COMPLETE:String="complete"; public function LoveCD(radius:Number) { this.radius=radius; } //加载图片 public function loadImage(url:String):void { var loader:Loader=new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete); loader.load(new URLRequest(url)); } //绘制底部 private function drawBase():void { var bottomShape:Shape=new Shape(); bottomShape.x=0; bottomShape.y=0; addChild(bottomShape); bottomShape.graphics.beginFill(0xffffff,0.5); bottomShape.graphics.drawCircle(0,0,radius); bottomShape.graphics.drawCircle(0,0,radius-2); bottomShape.graphics.endFill(); } private function onLoadComplete(event:Event):void { event.currentTarget.removeEventListener(Event.COMPLETE,onLoadComplete); var bitmap:Bitmap=Bitmap(event.currentTarget.content); drawBase(); this.content=bitmap; this.dispatchEvent(new Event(LoveCD.LOAD_COMPLETE)); } //设置位图 public function set content(value:Bitmap):void { this._bitmap=value; } public function get content():Bitmap { return this._bitmap; } //绘制CD,radiusA,radiusB,radiusC,由小到大 public function drawCD(image:Bitmap,radiusA:Number,radiusB:Number,radiusC:Number,offPoint:Point=null,repeat:Boolean=false,smooth:Boolean=false):void { var maskShape:Shape=new Shape(); maskShape.x=0; maskShape.y=0; addChild(maskShape); if(offPoint==null) maskShape.graphics.beginBitmapFill(image.bitmapData,null,repeat,smooth); else maskShape.graphics.beginBitmapFill(image.bitmapData,new Matrix(1,0,0,1,offPoint.x,offPoint.y),repeat,smooth); maskShape.graphics.drawCircle(0,0,radiusA); maskShape.graphics.drawCircle(0,0,radius-2); maskShape.graphics.endFill(); var shapeB:Shape=new Shape(); shapeB.x=0; shapeB.y=0; addChild(shapeB); shapeB.graphics.beginFill(0x999999,0.3); shapeB.graphics.lineStyle(0,0x999999); shapeB.graphics.drawCircle(0,0,radiusB); shapeB.graphics.drawCircle(0,0,radiusB+2); shapeB.graphics.drawCircle(0,0,radiusC); shapeB.graphics.endFill(); shapeB.graphics.lineStyle(0,0xffffff,0.6); shapeB.graphics.drawCircle(0,0,radiusC-1); } } }

package { import flash.display.*; import flash.net.*; import flash.events.*; import flash.filters.*; import flash.geom.*; public class Example extends Sprite { private var mycd:LoveCD=new LoveCD(200); public function Example() { init(); } private function init():void { addChildAt(mycd,0); mycd.x=stage.stageWidth/2; mycd.y=stage.stageHeight/2; mycd.filters=[new DropShadowFilter(3,45,0.5,1,1)]; mycd.loadImage("1.jpg");//加载图片 mycd.addEventListener(LoveCD.LOAD_COMPLETE,onLoadComplete); } private function onLoadComplete(event:Event):void { mycd.drawCD(mycd.content,30,50,70,new Point(-350,-230)); } } }

相关文章:

【Ubuntu】ubuntu工具 记录shell终端的内容到文件中:script

###用法 $ script -h Usage: script [options] [file] Options: -a, --append append the output -c, --command run command rather than interactive shell -r, --return return exit code of the child process -f, --flush run flush after each write –force use outpu…

弃Java、Swift于不顾,为何选Python?

作者 | JACE HARR译者 | 姜松浩转载自 CSDN(ID:CSDNNews)以下为译文:刚入行的程序员总是询问他们应该从哪种语言开始,我告诉他们,他们应该首先学习 Python。以下是使用 Python 开始自学编程去探险的一些原因…

iOS事件处理,看我就够了~

该文章属于<简书 — 刘小壮>原创&#xff0c;转载请注明&#xff1a; <简书 — 刘小壮> https://www.jianshu.com/p/b0884faae603 好久没写博客了&#xff0c;前后算起来刚好有一年了。这期间博客也不是一直没变化&#xff0c;细心的同学应该能发现&#xff0c;我一…

ISO9000机房管理办法

1 总则<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />1.1制定目的(1) 规范公司机房管理以及网管相关工作。1.2适用范围公司网络机房以及资讯组人员。1.3权责单位(1) 资讯组负责本办法制定、修改、废止之起草工作。(2) 总…

1400小时开源语音数据集,你想要都在这儿

整理 | 一一出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;3 月 1 日&#xff0c;由 Mozilla 基金会发起的 Common Voice 项目&#xff0c;发布新版语音识别数据集&#xff0c;包括来自 42000 名贡献者&#xff0c;超过 1400 小时的语音样本数据&#xff0c;涵盖包括…

【VirtualBox】VirtualBox使用现有的虚拟盘文件(如VHD)创建虚拟机时,报错:打开虚拟硬盘失败,“UUID already exist”的解决方法

###0、问题描述 使用现有的虚拟盘文件&#xff08;如VHD&#xff09;创建虚拟机时&#xff0c;报错&#xff1a;打开虚拟硬盘失败&#xff0c;“UUID already exists”的错误。 ###1、参考博客 https://www.cnblogs.com/xqzt/p/5053338.html https://jingyan.baidu.com/articl…

JDK10 EA版特性速览

今天收到一封邮件组的邮件&#xff0c;是关于JDK 10 First Release Candidate的&#xff0c; JDK10 b43版将作为第一个JDK10的RC版。 b43版特性包括&#xff1a; 286: Local-Variable Type Inference296: Consolidate the JDK Forest into a Single Repository304: Garbage-Col…

linux主机常用管理命令

1.杀掉MYSQL SHELL ps aux|grep mysql|grep -v grep|awk {print $2}|xargs kill -9 2.删除当前目录下0字节的文件 find -type f -size 0 -exec rm -rf {} \; 3.匹配当data里包含"donald"&#xff0c;输出第4列 awk /donald/ {print $4} data 扩展1&#xff1a; awk /…

【Qt】新安装的虚拟机,使用QtCreator第一次编译时报错:g++: Command not found

1、问题描述 新安装的虚拟机&#xff0c;使用QtCreator第一次编译时报错&#xff1a;g: Command not found &#xff08;或着报&#xff0c;make执行失败之类的错误&#xff09; 2、原因分析 新安装的虚拟机中&#xff0c;没有g。一般默认情况是&#xff0c;只安装了gcc 3…

爬一爬那些年你硬盘存过的“老师”

作者 | PayneLi 转载自Python全家桶&#xff08;ID: python-0321&#xff09; 人工智能的现状及今后发展趋势如何&#xff1f; https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 最近在Github发现一个基于google浏览器的爬虫项目&#xff0c;此项目是由美国大神2018年开源…

python 打印调用栈

import tracebackdef BBQ():traceback.print_stack() 引入 traceback 包&#xff0c;在某个函数中执行 traceback.print_stack()。 转载于:https://www.cnblogs.com/yourstars/p/8448471.html

(转)修改ETM,用Ogre实现《天龙八部》地形与部分场景详解(附源码)

本文主要讲的是《天龙八部》游戏的地形和一部分场景的具体实现&#xff0c;使用C, Ogre1.6&#xff0c;我摸索了段时间&#xff0c;可能方法用的并不是最好的&#xff0c;但好歹实现了。文章可能讲得有点罗嗦&#xff0c;很多简单的东西都讲了。我是修改了ETM&#xff08;Edita…

【Qt】错误GL/gl.h: No such file or directory的解决方法(以及cannot find -lGL解决方法)

1、问题描述 QtCreator第一次编译时&#xff0c;报错GL/gl.h: No such file or directory 错误信息如下&#xff1a; /home/Qt5.6.3/5.6.3/gcc_64/include/QtGui/qopengl.h:136: error: GL/gl.h: No such file or directory include <GL/gl.h> ^2、原因分析 说明系统里…

java并发之同步辅助类CyclicBarrier和CountDownLatch

CyclicBarrier 的字面意思是可循环使用&#xff08;Cyclic&#xff09;的屏障&#xff08;Barrier&#xff09;。它要做的事情是&#xff0c;让一组线程到达一个屏障&#xff08;也可以叫同步点&#xff09;时被阻塞&#xff0c;直到最后一个线程到达屏障时&#xff0c;屏障才会…

投稿近2000,NAACL 2019接收率仅为22.6%|附录取论文名单

整理 | 若名 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 人工智能的现状及今后发展趋势如何&#xff1f; https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 最近真是学术界公布论文产出结果的火热时期&#xff0c;距离计算机视觉领域的顶级盛会 CVPR 2019…

Lucene.Net无障碍学习和使用:索引篇

项目中可能需要再次用到Lucene.Net&#xff0c;利用空闲时间写了个demo&#xff0c;主要涉及到索引的创建、删除、更新和一个简单查询。在本文示例中&#xff0c;Lucene.Net的版本是2.4.0&#xff0c;某些类和方法与最新版本或者较旧的版本有较多不同&#xff0c;希望您阅读顺利…

【ubuntu】vim中鼠标选中时变成 可视模式,不能复制的解决方法

1、问题描述 配置好vim后&#xff0c;打开一个文件&#xff0c;鼠标选中文本时&#xff0c;选中的内容变成可视模式。 可视模式&#xff0c;不能将选中内容复制到剪切板 2、解决方法 在用户根目录下&#xff0c;打开 .vimrc ~$ vi .vimrc 将set mousea 删除或注释掉 3、我的…

Ruby11 拾遗

Agenda LoopExpressionFile Read/WriteDebugProcess & ThreadLoop while a 10 while a > 0puts aa - 1 enduntil a 100until a 0puts aa - 1 endloop a 10loop dobreak if a < 0puts aa - 1 end循环控制 breaknextbreak for x in 1..10break if x 5puts x endne…

CVPR2019|微软、中科大开源基于深度高分辨表示学习的姿态估计算法

作者 | 周强&#xff08;CV君&#xff09; 来源 | 我爱计算机视觉&#xff08;公众号id&#xff1a;aicvml&#xff09; 如何挑战百万年薪的人工智能&#xff01; https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 昨天arXiv出现了好几篇被CVPR 2019接收的论文。 其中来自…

本地连接受限制或无法连接怎么办?

一个非常常见的问题&#xff0c;就是我们家用电脑安装宽带后&#xff0c;任务栏上的“本地连接”图标有一个的叹号。查看状态&#xff1a;“受限制或无连接”&#xff0c;点“修复”却无法修复&#xff0c;显示无法获取IP地址&#xff0c;获得私网地址&#xff01;但ADSL又可以…

糟心!苹果无人车裁员190人,程序员却首当其冲

整理 | 琥珀 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 60s测试&#xff1a;你是否适合转型人工智能&#xff1f; https://edu.csdn.net/topic/ai30?utm_sourcecxrs_bw 仅过了一个多月&#xff0c;苹果公司自动驾驶部门裁员的真相便已浮出水面&#xff0c;该…

【工具】Internet Download Manager( IDM )抓取站点

软件说明&#xff1a; 扒网站的好东西&#xff0c;免费&#xff0c;支持中文 下载地址&#xff08;官网&#xff09; http://www.internetdownloadmanager.com/ 使用方法 https://jingyan.baidu.com/article/a681b0de0be10b3b1943465d.html

2010-12-30

I want to invest in stocks to make a quick buck.我想炒股&#xff0c;尽快赚点儿钱花&#xff11;、Which company are you going to invest in?那你打算买什么股&#xff1f;&#xff12;、Dont put all your eggs in one basket造成不要孤注一掷。&#xff13;、You need…

PFLD:简单、快速、超高精度人脸特征点检测算法

作者 | 周强&#xff08;CV君&#xff09; 来源 | 我爱计算机视觉&#xff08;公众号id&#xff1a;aicvml&#xff09; 60s测试&#xff1a;你是否适合转型人工智能&#xff1f; https://edu.csdn.net/topic/ai30?utm_sourcecxrs_bw 什么样的算法才是好算法&#xff1f; 真…

Cookie实现记住密码、自动登录

前端代码 <form id"form" action"xxx" method"post"><div><input type"text" name"account" id"account" placeholder"账号"><input type"text" name"pwd" i…

【Ubuntu】VirtualBox+ubuntu中显示摄像头

1、下载插件 https://www.virtualbox.org/wiki/Downloads 2、修改下载的插件的后缀 将后缀名改为vbox-extpack 如下载的插件为Oracle_VM_VirtualBox_Extension_Pack-5.2.14.txt&#xff0c;改为Oracle_VM_VirtualBox_Extension_Pack-5.2.14.vbox-extpack 3、安装插件 点击…

以SIGSEGV为例详解信号处理(与栈回溯)

以SIGSEGV为例详解信号处理(与栈回溯) 信号是内核提供的向用户态进程发送信息的机制, 常见的有使用SIGUSR1唤醒用户进程执行子程序或发生段错误时使用SIGSEGV保存用户错误现场. 本文以SIGSEGV为例, 详细分析信号使用方法, 内核信号的发送与接收机制. 1. 信号处理例程 以下是一…

十个jQuery图片画廊插件推荐

2019独角兽企业重金招聘Python工程师标准>>> jQuery的画廊插件可以将分组图像和多媒体资料转成类似Flash的图像或照片。当幻灯片已经成为网站的重要组成部分&#xff0c;jQuery的重要性不能被忽视。下面为你介绍了10个最有美感&#xff0c;创新性和创造性的jQuery图…

总结机器学习优质学习文章Top50!

整理 | Jane出品 | AI科技大本营&#xff08;公众号id&#xff1a;rgznai100&#xff09;在过去一年里&#xff0c;我们每个月都会给大家推荐一些优质的、最新的机器学习研究成果或机器学习技术文章&#xff0c;很多文章是从近千篇文章中评选出来的。综合考虑这些文章的更新时间…

【Qt】ubuntu QtCreator的pro文件中使用pkg-config

试验环境 ubuntu14.04.5 opencv2.4.13.6 Qt Creator 4.0.3 Qt 5.6 使用方法 在pro文件中&#xff0c;添加opencv头文件路径 INCLUDEPATH /usr/local/opencv2.4.13.6/include 添加pkg-config –libs opencv CONFIG link_pkgconfig PKGCONFIG opencv 可以在命令行下…