flex3 从图片的某一个像素开始显示图片

lure2222 2010-01-03 02:36:46
加精
flex3 从图片的某一个像素开始显示图片

我加载了一张图片,但是我要他从这张图片的50,50显示,就好像在CSS中加载图片background:url(Images/1.jpg) no-repeat 50px 50px;一样的这种功能!

写出代码啊。谢谢!
...全文
853 35 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2010-01-08
  • 打赏
  • 举报
回复
樓主說明一點,我不懂。
eqiang0930 2010-01-08
  • 打赏
  • 举报
回复
ddddddddddddddddd
duguyun 2010-01-07
  • 打赏
  • 举报
回复
路过
zhuwenlubin 2010-01-07
  • 打赏
  • 举报
回复
学习了
jokerdx 2010-01-07
  • 打赏
  • 举报
回复
顶~~~~~~~~~~~~~~~~~~`
lfcms 2010-01-07
  • 打赏
  • 举报
回复
Mark
zhangyongtian_0810 2010-01-06
  • 打赏
  • 举报
回复
晕晕 乎
yjjhuan 2010-01-06
  • 打赏
  • 举报
回复
来这淘宝哦!
liexiongzhang 2010-01-06
  • 打赏
  • 举报
回复
恩,我也来瞧瞧````
zy178327331 2010-01-06
  • 打赏
  • 举报
回复
不错,学习
arming11 2010-01-06
  • 打赏
  • 举报
回复
恩,可以。。
YHL27 2010-01-06
  • 打赏
  • 举报
回复
学习
gr1989522 2010-01-06
  • 打赏
  • 举报
回复
这个。。。。。。
fhqu1462 2010-01-05
  • 打赏
  • 举报
回复
写了一个 不知道 是不是楼主想要的效果 简单测试了一下 也不知道有没有问题 .. 类里面没写变量 可以当做工具类使用 下面放代码

package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Rectangle;

import mx.controls.Image;
import mx.core.UIComponent;

public class ImageCut
{
public function ImageCut()
{
}


/**
*
* @param source 源组件
* @param startPoint 裁剪起始点
* @param width 需要裁剪的高度
* @param height 需要裁剪的宽度
* @return 裁剪后的图片
*
*/
public function getCutImage(source:UIComponent, startPoint:Point, width:int = 0, height:int = 0):Image
{
var sourceData:BitmapData = getSourceData(source);

var destData:BitmapData = getDestData( sourceData, startPoint, width, height );

if( !sourceData || ! destData)
return null;

return getImage(destData);
}

/**
*
* @param source 源组件
* @param startPoint 裁剪起始点
* @param width 需要裁剪的高度
* @param height 需要裁剪的宽度
* @return 裁剪后的Bitmap
*
*/
public function getCutBitmap(source:UIComponent, startPoint:Point, width:int = 0, height:int = 0):Bitmap
{
var sourceData:BitmapData = getSourceData(source);

var destData:BitmapData = getDestData( sourceData, startPoint, width, height );

if( !sourceData || ! destData)
return null;

return new Bitmap(destData);
}

/**
*
* @param source 被裁剪的资源
* @return 资源的BitmapData
*
*/
private function getSourceData( source:UIComponent ):BitmapData
{
var sourceData:BitmapData = null;

if( source )
{
sourceData = new BitmapData( source.width, source.height );
sourceData.draw( source );
}
else
return null;


return sourceData;
}

/**
*
* @param _source 资源的BitmapData
* @param _startPoint 裁剪起始点
* @param _width 宽度
* @param _height 高度
* @return 裁剪后的BitmapData
*
*/
private function getDestData( _source:BitmapData, _startPoint:Point , _width:int = 0, _height:int = 0):BitmapData
{
if( _width == 0 || _startPoint.x + _width > _source.width)
_width = _source.width - _startPoint.x;

if( _height == 0 || _startPoint.y + _height > _source.height)
_height = _source.height - _startPoint.y;


var destData:BitmapData = new BitmapData(_width, _height);

var rect:Rectangle = new Rectangle( _startPoint.x, _startPoint.y, _width,_height);

destData.copyPixels( _source, rect , new Point(0,0) );

return destData;
}


/**
* 将BitmapData转换为图片实例
* @param _source BitmapData
* @return 图片实例
*
*/
private function getImage( _source:BitmapData ):Image
{
var bitmap:Bitmap = new Bitmap( _source )
var image:Image = new Image();
image.source = bitmap;
return image;
}
}
}

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="1024" minHeight="768">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;

private var cut:ImageCut = new ImageCut();

protected function img_clickHandler(event:MouseEvent):void
{
createImage(new Point(event.localX,event.localY));
}

private function createImage(point:Point):void
{
var image:Image = cut.getCutImage(test,point);
cont.addChild(image);
}
]]>
</mx:Script>
<mx:HBox id="cont">
<mx:Image id="test"
source="123.jpg"
width="400" height="400"
maintainAspectRatio="false"
click="img_clickHandler(event)"/>
</mx:HBox>


</mx:Application>


wunaixiuluo 2010-01-05
  • 打赏
  • 举报
回复
顶起!!
xingjunli 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lure14435345 的回复:]
大家没明白我的意思,我的想法是这个图片有2屏幕,要的是整个图片,但是有要从50,50开始显示·
[/Quote]
直接设置图片 x,y信息不就好了吗?
xingjunli 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lure14435345 的回复:]
大家没明白我的意思,我的想法是这个图片有2屏幕,要的是整个图片,但是有要从50,50开始显示·
[/Quote]

这样不是直接设置 x,y就好了吗?
goshark 2010-01-05
  • 打赏
  • 举报
回复
好啊,呵呵,支持
poul000000 2010-01-05
  • 打赏
  • 举报
回复
......................不是很明白,等待高手
fk_jh 2010-01-05
  • 打赏
  • 举报
回复
学习一下
加载更多回复(15)

4,327

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧