package com.imt.intimamedia.helpers { import flash.display.Graphics; import mx.controls.Alert; public class Measure { public function Measure() { } public static function pointxOriginalToResize(x:int, oridimh:int, oridimv:int, resizedimh:int):int { var result:int; var ratio : Number; var newdimh : int; var newdimv : int; var y : int ; ratio = Number(oridimh) / Number(oridimv); if (ratio <= (4.0 / 3.0)) { newdimv = oridimv; newdimh = int((4.0 * oridimv) / 3.0); } else { newdimh = oridimh; newdimv = int ((3.0 * oridimh) / 4.0); } if (newdimv >= oridimv) { // ------------ // // ------------ // xxxxxxxxxxxx // ------------ // // ------------ x = x + ((newdimh - oridimh) / 2); y = y + ((newdimv - oridimv) / 2); } else if (newdimh >= oridimh) { // | | x | | // | | x | | // | | x | | // | | x | | // | | x | | // | | x | | // Alert.show("newdimh > dimh"); x = x + ((newdimh - oridimh) / 2); y = y + ((newdimv - oridimv) / 2); } x = (x * resizedimh) / newdimh; return x; } public static function pointyOriginalToResize(y:int, oridimh:int, oridimv:int, resizedimv:int ):int { var result:int; var ratio : Number; var newdimh : int; var newdimv : int; var x : int ; ratio = Number(oridimh) / Number(oridimv); if (ratio <= (4.0 / 3.0)) { newdimv = oridimv; newdimh = int((4.0 * oridimv) / 3.0); } else { newdimh = oridimh; newdimv = int ((3.0 * oridimh) / 4.0); } if (newdimv >= oridimv) { // ------------ // // ------------ // xxxxxxxxxxxx // ------------ // // ------------ x = x + ((newdimh - oridimh) / 2); y = y + ((newdimv - oridimv) / 2); } else if (newdimh >= oridimh) { // | | x | | // | | x | | // | | x | | // | | x | | // | | x | | // | | x | | // Alert.show("newdimh > dimh"); x = x + ((newdimh - oridimh) / 2); y = y + ((newdimv - oridimv) / 2); } y = (y * resizedimv) / newdimv; return y; } public static function imtDraw( origdimh:int, origdimv:int, resizeedimh:int, resizeedimv:int, graph:Graphics, intima:Array, adventitia:Array, nbPoints:int ) : void { var i : int; graph.lineStyle( 1, 0xffff00 ); for( i = 0; i < nbPoints; i++ ) { graph.moveTo( pointxOriginalToResize(intima[i].x, origdimh, origdimv, resizeedimh), pointyOriginalToResize(intima[i].y, origdimh, origdimv, resizeedimv)); graph.lineTo( pointxOriginalToResize(intima[i].x+1, origdimh, origdimv, resizeedimh), pointyOriginalToResize(intima[i].y, origdimh, origdimv, resizeedimv)); } graph.lineStyle( 1, 0x00ff00 ); for( i = 0; i < nbPoints; i++ ) { graph.moveTo( pointxOriginalToResize(adventitia[i].x, origdimh, origdimv, resizeedimh), pointyOriginalToResize(adventitia[i].y, origdimh, origdimv, resizeedimv)); graph.lineTo( pointxOriginalToResize(adventitia[i].x+1, origdimh, origdimv, resizeedimh), pointyOriginalToResize(adventitia[i].y, origdimh, origdimv, resizeedimv)); } } public static function distanceDraw( graph:Graphics, xFirstPoint:int, yFirstPoint:int, xLastPoint:int, yLastPoint:int ) : void { graph.lineStyle( 2, 0xD3031B ); graph.moveTo( xFirstPoint, yFirstPoint ); graph.lineTo( xLastPoint, yLastPoint ); } public static function areaDraw( graph:Graphics, points:Array, nbPoints:int ) : void { var i : int; graph.lineStyle( 2, 0xD3031B ); for( i = 0; i < nbPoints-1; i++ ) { graph.moveTo( points[i].x, points[i].y ); graph.lineTo( points[i+1].x, points[i+1].y ); } graph.moveTo( points[nbPoints-1].x, points[nbPoints-1].y ); graph.lineTo( points[0].x, points[0].y ); } } }