Flash :: Zoom Fit A Flex Component With Transform Matrix?
Jul 8, 2011
someone could tell me how I can zoom a Canvas, with transform.matrix, so that the content of the component fits into the parent container (application), either inward or outward
this function is called Zoomfit(), I have this code:
Im using Daniel Gasienica's Zooming in Flash where he uses the transform matrix to calculate the mouse position so the zooming reference point is the same. Its pretty handy, but i need the zoom to more smooth. I've tried almost everything (mainly the TweenLite engine), but with no luck.
I have a UI component that I wish to relocate and scale, but in a rather complex way. I've figured out the necessary transformations using the transform matrix, to which I applied several translate and scale operations. I can set the new transform matrix for this UI component to be the above calculated matrix, and the results are accurate; but I need to animate the transition. I can't use the Scale/Move effects alone because they aren't as powerful when it comes to calculating the necessary transformation as the matrices are.So how can I animate the transition of an object given a source and a target transform matrix?Figured it outUsing a tweener and its onUpdate event to reassign the matrix with each intermediate value:
var animMatrix : Matrix = gi.transform.matrix; TweenMax.to(animMatrix, 1, { a : m.a,
I'm working on a project wherein a user can take a snapshot of themselves using their webcam and then edit this image by transforming scale and rotation and save the result.
I've got most of it working, the user can take a snapshot of themselves, transform the object using Senocular's Transform Tool and i'm using .draw() to then save this transformed object. The problem is .draw() is only grabbing data from the top left corner of the stage. It is drawing the transformed object but only from the top left corner.
Why does it only draw from the top left corner and how can i get set the coordinates to only draw from the area where the captured image is set?
You can view the file as is at: [URL]
And i've zipped the FLA and relevant classes at [URL]
I ran into an issue with an app that I have been working on.The application lets a user draw a rectangle, which base class is UIComponent, on an SVG Canvas. The user can rotate, skew, scale,flip horizontal and flip vertical the rectangle. Then they can drop an image into the rectangle.We just cloned the rectangles matrix and applied it to the image and the image would transform the same as the rectangle. Well now we have changed the way the app works.
Now we don't want the image rotated or flipped on the initial drop, and this is where I'm having trouble.I was wondering if there is a way to always find the true top left of any rectangle no matter what kind of matrix is placed on it. I can find the center of the rectangle but when a user flips the rectangle the center point is outside the rectangle.Instead of finding the center I would like to find the topLeft.I have tried several things. Like transform.pixelBounds, but this gives me big numbers like 2200 instead of 400. I have also looked at senocular.com but not sure that I understand it.I just need a dynamic way to always find the top left.
i want to assign a transform matrix to an object, but i want to assign the values myself (as in, no 'rotate, scale etc'), but for example, set a matrix like
[Code]...
which if applied, would have no effect, but would be valid (actually not exactly that matrix, but you get the idea). i want to set the values of the matrix and the object should be affected by those values that i set by myself, no scale rotate or any predefined operations. how can i set my own matrix?
I have a class which extends the Sprite object in as3. I need to be able to override the transform.matrix setter in this class but haven't been successful in doing so.
I've tried many things, along with creating my own separate class which extends the Transform class and then overrides its set matrix function, and set my transform = new CustomTransform(). Sadly this didn't work.
In code this is what i tried:
public class MyClass extends Sprite { public function MyClass() {
I am having quite a bit of trouble with one of my classes not working with the custom PixelPerfect-Class. Looking into it I found the error occurring in this line:
It's throwing a 1009. Playing arounf with trace I have come to the point, that the hero in my little game has no transform.matrix (it's null). This is not related to the CollisionClass, i traced it independently of that.
Long time since i've been on here. I'm working on a project wherein a user can take a snapshot of themselves using their webcam and then edit this image by transforming scale and rotation and save the result. I've got most of it working, the user can take a snapshot of themselves, transform the object using Senocular's Transform Tool and i'm using .draw() to then save this transformed object. The problem is .draw() is only grabbing data from the top left corner of the stage. It is drawing the transformed object but only from the top left corner. Why does it only draw from the top left corner and how can i get set the coordinates to only draw from the area where the captured image is set?
I found the function: rotateAroundExternalPoint(m:Matrix, x:Number, y:Number, angleDegrees:Number) to rotate an object around an external point. The top of the object will always point at the center point which is exactly what I want.
It works fine but its possible to rotate it in an oval instead of in a perfect circle...I think it should be something with the angleDegrees Parameter but im not sure what to do with it. I also tried to set up an own matrix but I failed. Any right direction to orbit an object in an oval, and where the top of the object always point at the rotation center?
my problem is that if i scale, rotate or translate a display object using its transform.matrix i am not getting the value in the display object but the transform is happening like displayObject.scaleX or displayObject.scaleY etc. i get this new transform value using the dislayobject? as i am using a matrix transform manager which actually changing the transform matrix of the display object.
I have an odd problem in CS4/AS3 with one of my flash files where text is incorrectly rendered if the movieclip containing the text has a 3d matrix transform and quality is set to medium or low. It is easy to reproduce:
I want to introduce a canvas component by zooming from a height & width of 0.0 to 1.0. I want the component to be invisible until the zoom begins and then for it to be visible when it begins zooming.
However, if I bind the zoom effect to a showEffect trigger on the component and then make the component visible, it will first show the component at its regular size for a split second before it begins the zoom effect. If I combine the zoom effect and setting the component visible together in a parallel, it will also flash the component at its regular size for a split second before the zoom. If I make the component visible when the zoom effect starts through its effectStart event, it still does it. Does anyone know how to make it visible only when the zoom effect begins so that it doesn't flash the component at its regular size for a split second before the zoom effect?
I have flash component in a website, which shows a preview. There are some UI components overlaid on the preview to allow navigation. Unfortunately it seems that in Safari on Macs, there is a problem:When the user zooms in or out (using the browser based page zoom), my overlaid UI items disappear for some reason. This does not happen on any other platform.I would have though that this zoom function would be something that is taken care of solely by the browser/Flash plugin, however, perhaps there is something I can do to force a 'redraw'?
Using flex / air 2.6 working on an Android device, I am using a canvas with a TransformGestureEvent for zoom in on a map. The listening of the efect is working ok, but I canīt seem to find the information on wether the user intended zoom in or zoom out (fingers getting closer or getting apart).I expected the intention of the gesture to be identifiable with the offsetX and offsetY properties of the event, as you will do on a swipe gesture event. But I always get 0 for both properties, no matter how I do the gesture in the device.How can I know if the fingers getting closer or getting apart in a gesture zoom event?
Has anyone here ever developed a function (or general library of relevant functions) that will allow one to find the inverse of a matrix? I've searched the forum archives, as well as the internet more generally, but haven't found anything. If anyone has some leads, I hope you'll pass them along.
If I don't hear anything within the next few days, I might try to develop something on my own, but I'd hate to do so if someone has already done the dirty work.
A solution to this problem would be very useful for 3-D work or anyone doing mathematical programming more generally.
I'm having trouble with loading in an external image that I can transform with the Senocular Transform Tool class. I have managed to load in the picture but the transform class doesn't seem want to grab it. Eventually I want to us the FileRef to upload the image but I just need to figure out how it works first. Here my code to load in the external image
[Code]...
The transform class can grab the other movieclips but it doesn't want to grab the new image loaded in from the code above.
I was wondering if anybody knows a way to download the full (if fragmented) image from a zoom component. For example, this websitehas the last supper at a huge resolution that is only viewable by zooming into tiny peices. I can see in the activity window that when you zoom and pan it loads the correct dozen pieces of the full image. Is there a way (with like a greasemonkey script or something) to ask the browser to download all the images at once? (You could then put them back together)
I have a component "child" which has a cancel button. Now this component is placed in a state called "newChildComp" I also have another component called "parent". In the parent component, i have a button that dispatches an event. Here is the event code:
[Code].....
so, basically,i am checking to see if the cancel button component in the Child component, while i am still in the parent Compoent, was clicked, if it was clicked, call the cancelButtonHandler. The problem is by the time the addNewChild handles the event, that cancel button was still null. My question is how do i solve this without using the itemCreationPolicy on the cancel button?
I'm at a very basic level with Flex and with programming in general. I am working on a project where I have data in an Excel (.csv) format, it's a large Excel plot/matrix where each cell has a temperature number. I want to import this matrix into Flex somehow, or parse the data in Flex, so that this matrix turns into an interactive heat with colors corresponding to varying temperatures from blue (cold) to red (hot), and each spot on roll over shows the temperature number.
Should I use plot charts, or some other control? should I convert data into XML or import into a MySQL database, would that be easier for Flex? But then, again, the data is basically just a large matrix, there's no headers/ fields in a traditional database sense, just many cells each having a temperature number. how I can import the data into Flex and use it as data provider to plot the heat map?
How can I rotate an Image eg. 180 degrees clockwise using the Matrix. I can use the following code to rotate the image 90 degrees, but it is incremental, meaing
var matrix:Matrix = new Matrix(); matrix.rotate(Math.PI/2); matrix.tx = imgControl.content.height; var bitmapData:BitmapData = new BitmapData(imgControl.content.height, imgControl.content.width); bitmapData.draw(imgControl.content, matrix); imgControl.source = new Bitmap( bitmapData);
var snapshot:ImageSnapshot = ImageSnapshot.captureImage(someSprite); var file:FileReference = new FileReference(); file.save(snapshot.data,'abc.png');
n the above code I am able to capture an image.But I also want to apply a scalingMatrix(for zoomIn/Out) and a clipping rectangle to it. How to do it? I tried capturebitmapdata too, but with that I can't even get a proper image. See here. So I don't want to use that.
I'm a newbby in Adobe AIR/Flex. I have developed a simple Flex web app. that through 2 Php's, can connect to a DB and return an XML result of the query. I uploaded the PHP and Flex files to my internet server, and the app. works fine. My question is: How can I make the same app. work in Adobe AIR? In other words, I have made a new AIR project, and I copy/paste the Flex code. When I run the project, it does not work and say things like: