Flex 自定义加载进度条

PnP 单目相机位姿估计(二):solvePnP利用二维码求解相机世界坐标 前言 原理简介 输入参数准备 1 objectPoints特征点世界坐标 2 imagePoints特征点在摄像头下的像素点坐标 3cameraMatrixdistCoeffs内参矩阵和畸变矩阵 相机世界坐标的求解 1求世界坐标中的点在相机坐标系下的坐标 2求相机在世界坐标中的坐标 3效果求解相机在世界坐标系下的坐标点 4求解代码1.前言  很多时候,当我们利用单目相机获取图像时,往往只能获取图像中 阅读详情

Flex 自定义加载进度条

使用方法: 
设置Application标签的preloader为 MyComponent.MyDownloadProgressBar 
<mx:Application preloader="MyComponent.MyDownloadProgressBar" > 

下面是MyDownloadProgressBar.as的代码: 

package MyComponent 
{ 
import flash.display.*; 
import flash.events.*; 
import flash.filters.BitmapFilterQuality; 
import flash.filters.BlurFilter; 
import flash.geom.Matrix; 
import flash.net.*; 
import flash.text.TextField; 
import flash.utils.*; 
import flash.system.Capabilities; 

import mx.events.*; 
import mx.preloaders.*; 

public class MyDownloadProgressBar extends Sprite implements IPreloaderDisplay 
{        
[Embed(source="logo.png", mimeType="application/octet-stream")] 
public var _loadingLogo:Class; 

private var dpbImageControl:Loader; 
private var _barSprite:Sprite; 
private var progressText:TextField;        
private var ProgressBarSpritIsAdded:Boolean = false; 

public function MyDownloadProgressBar() {   
super();                            


// Specify the event listeners. 
public function set preloader(preloader:Sprite):void { 
//Listen for 正在下载 
preloader.addEventListener(ProgressEvent.PROGRESS, handleProgress); 
//Listen for 下载完成 
preloader.addEventListener(Event.COMPLETE, handleComplete); 
//Listen for 正在初始化 
preloader.addEventListener(FlexEvent.INIT_PROGRESS, handleInitProgress); 
//Listen for 初始化完成 
preloader.addEventListener(FlexEvent.INIT_COMPLETE, handleInitComplete); 


// Initialize the Loader control in the override 
// of IPreloaderDisplay.initialize(). 
public function initialize():void { 
//添加logo图 
dpbImageControl = new Loader();       
dpbImageControl.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler); 
dpbImageControl.loadBytes(new _loadingLogo() as ByteArray); 
//dpbImageControl.load(new URLRequest("loadinglogo.swf")); 



// After the SWF file loads, set the size of the Loader control. 
private function loader_completeHandler(event:Event):void 
{         
addChild(dpbImageControl); 
dpbImageControl.width = 230; 
dpbImageControl.height= 80; 
dpbImageControl.x = this.stage.stageWidth/2 - dpbImageControl.width/2; 
dpbImageControl.y = this.stage.stageHeight/2 - dpbImageControl.height/2 - 80; 
}   

// 
private function addProgressBarSprit():void{ 
//绘制背景渐变 
var matrix:Matrix=new Matrix(); 
matrix.createGradientBox(this.stage.stageWidth,this.stage.stageHeight,Math.PI/2); 
var colors:Array=[0x058BBD,0xFFFFFF]; 
var alphas:Array=[1,1]; 
var ratios:Array=[0,255]; 
this.graphics.lineStyle(); 
this.graphics.beginGradientFill(GradientType.LINEAR,colors,alphas,ratios,matrix);        
this.graphics.drawRect(0,0,this.stage.stageWidth,this.stage.stageHeight); 
this.graphics.endFill(); 

//绘制中心白色发光 
var _Sprite1:Sprite = new Sprite(); 
addChild(_Sprite1); 
_Sprite1.graphics.beginFill(0xffffff,0.45); 
_Sprite1.graphics.drawEllipse(this.stage.stageWidth/2-130, this.stage.stageHeight/2-90, 280, 100); 
_Sprite1.graphics.endFill(); 
//滤镜实现发光边缘柔和            
var blur:BlurFilter = new BlurFilter(); 
blur.blurX = 100; 
blur.blurY = 50; 
blur.quality = BitmapFilterQuality.HIGH; 
_Sprite1.filters = [blur]; 

//------------------------------------------------- 

//绘制进度条背景 
var _Sprite2:Sprite = new Sprite(); 
addChild(_Sprite2); 
_Sprite2.graphics.lineStyle(1, 0xCCCCCC); 
_Sprite2.graphics.beginFill(0xFFFFFF); 
_Sprite2.graphics.drawRect((this.stage.stageWidth/2 - 152), (this.stage.stageHeight/2 - 10), 304, 20);   
_Sprite2.graphics.endFill(); 

//------------------------------------------------- 

//加载进度条Sprite 
_barSprite = new Sprite(); 
addChild(_barSprite); 
_barSprite.x = this.stage.stageWidth/2 - 150; 
_barSprite.y = this.stage.stageHeight/2 - 8; 

//------------------------------------------------- 

//加载进度条文字 
progressText = new TextField(); 
addChild(progressText); 
progressText.textColor = 0x333333; 
progressText.width = 300; 
progressText.height = 18; 
progressText.x = this.stage.stageWidth/2 - 152; 
progressText.y = this.stage.stageHeight/2 + 20; 


//刷新进度条 
private function drawProgressBar(bytesLoaded:Number, bytesTotal:Number):void 
{   
if (_barSprite != null && progressText != null){ 
var g:Graphics = _barSprite.graphics; 
g.clear(); 
//    g.beginFill(0xCCCCCC); 
//    g.drawRect(0, 0, 300*(bytesLoaded/bytesTotal),16);   
//    g.endFill();    

var matrix:Matrix=new Matrix(); 
matrix.createGradientBox(300*(bytesLoaded/bytesTotal),16,Math.PI/2); 
var colors:Array=[0x0099CC,0x99cc77]; 
var alphas:Array=[1,1]; 
var ratios:Array=[0,255]; 
g.lineStyle(); 
g.beginGradientFill(GradientType.LINEAR,colors,alphas,ratios,matrix);        
g.drawRect(0,0,300*(bytesLoaded/bytesTotal),16); 
g.endFill(); 





//正在下载的进度 
private function handleProgress(event:ProgressEvent):void { 
//第一次处理时绘制进度条Sprit 
if (ProgressBarSpritIsAdded == false){ 
ProgressBarSpritIsAdded = true; 
addProgressBarSprit(); 


if (progressText != null){ 
progressText.text = "下载进度:已下载 " + event.bytesLoaded + " byte,总大小 " + event.bytesTotal + " byte."; 
}         
drawProgressBar(event.bytesLoaded, event.bytesTotal); 


private function handleComplete(event:Event):void { 
if (progressText != null){ 
progressText.text = "下载完成."; 

drawProgressBar(1,1);        


private function handleInitProgress(event:Event):void { 
if (progressText != null){ 
progressText.text = "正在初始化..."; 

drawProgressBar(1,1); 


private function handleInitComplete(event:Event):void { 
if (progressText != null){ 
progressText.text = "初始化完成."; 

drawProgressBar(1,1);         

//0.03秒后抛出完成事件 
var timer:Timer = new Timer(300,1); 
timer.addEventListener(TimerEvent.TIMER, dispatchComplete); 
timer.start();      


private function dispatchComplete(event:TimerEvent):void { 
dispatchEvent(new Event(Event.COMPLETE)); 



// Implement IPreloaderDisplay interface 

public function get backgroundColor():uint { 
return 0; 


public function set backgroundColor(value:uint):void { 


public function get backgroundAlpha():Number { 
return 0; 


public function set backgroundAlpha(value:Number):void { 


public function get backgroundImage():Object { 
return undefined; 


public function set backgroundImage(value:Object):void { 


public function get backgroundSize():String { 
return ""; 


public function set backgroundSize(value:String):void { 


public function get stageWidth():Number { 
return 500; 


public function set stageWidth(value:Number):void { 


public function get stageHeight():Number { 
return 375; 


public function set stageHeight(value:Number):void { 



}
手把手教你使用YOLOv11模型,训练自己数据集,百分百成功(无废话) YOLOV11百分百成功训练自己的数据集并进行图像、视频流脚本预测 阅读详情

相关推荐

Flex进度条小例子

NULL 博文链接:https://zhangyinyou.iteye.com/blog/684780

flex自定义加载进度条

根据网上找的一些资料,自定义了一个加载进度条。 主要的功能就是在初始化flex界面时,显示当前要加载的组件个数,当前的加载进度,同时自定义一个进度条。 效果图: [img]http://dl.iteye.com/upload/attachment/574013/1395aadc-c90f-3737-b001-a4a831a3085a.jpg[/img] 原理就是重写Downl...

nanhu6784的博客 185

Flex 指定文件下载 带进度条

/********************* Flex 指定文件下载 带进度条 **********************/

flex加载进度条

private var file:FileReference = new FileReference(); //上传下载类, //加一些***事情 file.addEventListener(ProgressEvent.PROGRESS, onProgress); file.addEventListener(Ev...

weixin_34240520的博客 168

flex布局 实现进度条

效果图 vue template模板 mounted 挂载 methods 后台接口 // An highlighted block [点击并拖拽以移动] &lt;template&gt; &lt;div class="pro"&gt; &lt;div class="prok"&gt;&lt;i class="pro1"&gt;看涨{{progress}}%&

敲门的小白 743

Flex进度条

Flex中,进度条的皮肤,以及使用Timer让它自动增加~ mxml中: 1 <mx:ProgressBar id="proBar" 2 verticalCenter="0" 3 horizontalCenter="0" 4 trackSki...

weixin_30377461的博客 151

flex自定义preloader预加载进度条

flex默认的preloader已经很不错了,可是有时候还是需要自定义的. 需要在要出现自定义加载的程序的<mx:Application>标签里加入preloader="". preloader="com.lichen.component.CustomPreloader" 其中,com.lichen.component是我的包名,Custo...

weixin_34234721的博客 137

FLEX 加载进度条自定义

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33743880的博客 127

flex进度条

flex进度条,适用于网站初始化,或者在缓冲时

Flex 页面加载显示自定义进度条

一:新建ActionScript类包: user类名:MyDownloadProgressBar --------------------------------------------------------package user { import flash.display.*; import flash.events.*; import flash.filters.BitmapFilter

passport_daizi的博客 2071

Flex加载module显示进度条

<br />ModuleLoader 中有3个事件 ready为加载完成,loading为正在加载中,progress为进度事件,<br />ProgressBar必须放到ModuleLoader 的后面,不然显示的时候会被ModuleLoader 遮挡住。<br />mode="manual";这个属性一定要加上,不然不显示进度,百分比出不来。<br />代码可以这样<br /><mx:script><br />      public function loading(e:ModuleEvent):vo

zb896136137的专栏 1461

Flex中用代码控制进度条的进度

用代码控制进度条的进度

技术杂货铺 857

Flex进度条上传文件代码

在网上找的一个Flex文件上传代码,记录下来,以后用到的时候可以马上能用: 1. Flex 前端代码 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.co

sunchunmei555的专栏 5237

Delphi7调用动态库实现HMACSHA256及Demo

用Delphi7实现HMACSHA256算法一直没有成功的案例,网上都是通过Delphi2007以上版本+DcPCrypt库实现,代码量较大,调用不够简洁便利。对此痛点,搞了此项目和demo,通过调用Dll文件实现,代码只有10行,执行速度快。在本示例中,实现了如何在Delphi 7环境下通过调用动态链接库(DLL)来实现HMAC-SHA256算法,这是一种用于消息认证的安全技术。该DLL是由VC++基于OpenSSL库编写的,OpenSSL是一个强大的安全套接字层密码库,包含各种主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序供测试或其他目的使用。HMAC(密钥散列消息认证码)是基于密钥和哈希函数的安全机制,它结合了密钥和数据来生成一个消息认证码,用于验证数据的完整性和来源。HMAC_SHA256就是使用SHA256作为基础哈希函数的HMAC实现。在Delphi中,开发者可以使用OpenSSL的DLL文件来实现这些功能,尤其是在进行HTTP通信时,可能需要使用HMAC_SHA256来确保传输数据的安全。本项目源码依赖于Indy控件,请在编译源码前先安装Indy10版本以上的组件。HMACSHA256算法结果可以在https://www.jijie.ink/tool/hash在线验证。

上一篇: flex4 的时间轴动画
下一篇: Flex示例:实现画线
YBB_XJ
博客等级 码龄14年 3粉丝 8原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值