PDA

Просмотр полной версии : увеличение картинки


amba8
17.12.2007, 17:45
Подскажите пожалуйста возможно ли увеличить часть(окружность, квадрат) картинки напр импортированной из библиотеки, если возможно то как именно???

Fernando Costa
17.12.2007, 17:47
Часть? BitmapData

Molecula
17.12.2007, 17:58
Чуть дополню, ответ выше:
new BitmapData
draw
marix

amba8
17.12.2007, 18:18
а поподробней не могли бы объяснить, а то я начинающий и пока с BitmapData не сталкивался(или ссылочки на мануальчик по этой теме), заранее спасибо

Fernando Costa
17.12.2007, 18:44
http://help.inils.ru/flash8/

amba8
17.12.2007, 19:03
http://help.inils.ru/flash8/
маловато будет как для начинающего... мне б еще чего нибудь...

etc
18.12.2007, 14:32
Откройте встроенный хелп флеша.

glin
18.12.2007, 15:49
Дружище, возможно тебе подойдет более простой способ, который можно найти по ключивым словам "эффект линзы". Когда при помощи маски (хоть круглой, хоть квадратной), показывается увеличенный фрагмент нижележащего слоя. По крайней мере из твоего вопроса мне подумалось об этом способе....

Molecula
18.12.2007, 16:49
Вот, пример набросал.
Желтое, это часть красного:
import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.filters.ColorMatrixFilter;
import mx.transitions.easing.*;
import mx.transitions.Tween;

var matrix:Array = new Array();
matrix = matrix.concat([1, 0, 0, 0, 0]); // red
matrix = matrix.concat([1, 1, 0, 0, 0]); // green
matrix = matrix.concat([0, 0, 1, 0, 0]); // blue
matrix = matrix.concat([0, 0, 0, 1, 0]); // alpha

var filter:ColorMatrixFilter = new ColorMatrixFilter(matrix);

this.createEmptyMovieClip("square_mc", this.getNextHighestDepth());
square_mc.beginFill(0xFF0000);
square_mc.moveTo(0, 0);
square_mc.lineTo(100, 0);
square_mc.lineTo(100, 100);
square_mc.lineTo(0, 100);
square_mc.lineTo(0, 0);
square_mc.endFill();

var myMatrix:Matrix = new Matrix();
myMatrix.scale(1,1);

var myBitmapData:BitmapData = new BitmapData(square_mc._width/2, square_mc._height/2, true, 0xFF);
myBitmapData.draw(square_mc, myMatrix, null, 'normal', null, true);
var _con:MovieClip = this.createEmptyMovieClip("_con", this.getNextHighestDepth());
var mc_1:MovieClip = _con.createEmptyMovieClip("mc_1", this.getNextHighestDepth());
mc_1.attachBitmap(myBitmapData, this.getNextHighestDepth());
mc_1._x-=mc_1._parent._width/2;
mc_1._y-=mc_1._parent._height/2;

_con._x+=square_mc._width/4
_con._y+=square_mc._height/4

mc_1.filters = new Array(filter);

_con.onPress=function()
{
var _xs:Tween = new Tween(this, '_xscale', Regular.easeInOut, this._xscale, this._xscale*1.2, .5, true);
var _ys:Tween = new Tween(this, '_yscale', Regular.easeInOut, this._yscale, this._yscale*1.2, .5, true);
}