Measure.as 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.imt.intimamedia.helpers
  2. {
  3. import flash.display.Graphics;
  4. import mx.controls.Alert;
  5. public class Measure
  6. {
  7. public function Measure()
  8. {
  9. }
  10. public static function pointxOriginalToResize(x:int, oridimh:int, oridimv:int, resizedimh:int):int
  11. {
  12. var result:int;
  13. var ratio : Number;
  14. var newdimh : int;
  15. var newdimv : int;
  16. var y : int ;
  17. ratio = Number(oridimh) / Number(oridimv);
  18. if (ratio <= (4.0 / 3.0))
  19. {
  20. newdimv = oridimv;
  21. newdimh = int((4.0 * oridimv) / 3.0);
  22. }
  23. else
  24. {
  25. newdimh = oridimh;
  26. newdimv = int ((3.0 * oridimh) / 4.0);
  27. }
  28. if (newdimv >= oridimv)
  29. {
  30. // ------------
  31. //
  32. // ------------
  33. // xxxxxxxxxxxx
  34. // ------------
  35. //
  36. // ------------
  37. x = x + ((newdimh - oridimh) / 2);
  38. y = y + ((newdimv - oridimv) / 2);
  39. }
  40. else if (newdimh >= oridimh)
  41. {
  42. // | | x | |
  43. // | | x | |
  44. // | | x | |
  45. // | | x | |
  46. // | | x | |
  47. // | | x | |
  48. // Alert.show("newdimh > dimh");
  49. x = x + ((newdimh - oridimh) / 2);
  50. y = y + ((newdimv - oridimv) / 2);
  51. }
  52. x = (x * resizedimh) / newdimh;
  53. return x;
  54. }
  55. public static function pointyOriginalToResize(y:int, oridimh:int, oridimv:int, resizedimv:int ):int
  56. {
  57. var result:int;
  58. var ratio : Number;
  59. var newdimh : int;
  60. var newdimv : int;
  61. var x : int ;
  62. ratio = Number(oridimh) / Number(oridimv);
  63. if (ratio <= (4.0 / 3.0))
  64. {
  65. newdimv = oridimv;
  66. newdimh = int((4.0 * oridimv) / 3.0);
  67. }
  68. else
  69. {
  70. newdimh = oridimh;
  71. newdimv = int ((3.0 * oridimh) / 4.0);
  72. }
  73. if (newdimv >= oridimv)
  74. {
  75. // ------------
  76. //
  77. // ------------
  78. // xxxxxxxxxxxx
  79. // ------------
  80. //
  81. // ------------
  82. x = x + ((newdimh - oridimh) / 2);
  83. y = y + ((newdimv - oridimv) / 2);
  84. }
  85. else if (newdimh >= oridimh)
  86. {
  87. // | | x | |
  88. // | | x | |
  89. // | | x | |
  90. // | | x | |
  91. // | | x | |
  92. // | | x | |
  93. // Alert.show("newdimh > dimh");
  94. x = x + ((newdimh - oridimh) / 2);
  95. y = y + ((newdimv - oridimv) / 2);
  96. }
  97. y = (y * resizedimv) / newdimv;
  98. return y;
  99. }
  100. public static function imtDraw( origdimh:int, origdimv:int, resizeedimh:int, resizeedimv:int, graph:Graphics, intima:Array, adventitia:Array, nbPoints:int ) : void
  101. {
  102. var i : int;
  103. graph.lineStyle( 1, 0xffff00 );
  104. for( i = 0; i < nbPoints; i++ )
  105. {
  106. graph.moveTo( pointxOriginalToResize(intima[i].x, origdimh, origdimv, resizeedimh), pointyOriginalToResize(intima[i].y, origdimh, origdimv, resizeedimv));
  107. graph.lineTo( pointxOriginalToResize(intima[i].x+1, origdimh, origdimv, resizeedimh), pointyOriginalToResize(intima[i].y, origdimh, origdimv, resizeedimv));
  108. }
  109. graph.lineStyle( 1, 0x00ff00 );
  110. for( i = 0; i < nbPoints; i++ )
  111. {
  112. graph.moveTo( pointxOriginalToResize(adventitia[i].x, origdimh, origdimv, resizeedimh), pointyOriginalToResize(adventitia[i].y, origdimh, origdimv, resizeedimv));
  113. graph.lineTo( pointxOriginalToResize(adventitia[i].x+1, origdimh, origdimv, resizeedimh), pointyOriginalToResize(adventitia[i].y, origdimh, origdimv, resizeedimv));
  114. }
  115. }
  116. public static function distanceDraw( graph:Graphics, xFirstPoint:int, yFirstPoint:int, xLastPoint:int, yLastPoint:int ) : void
  117. {
  118. graph.lineStyle( 2, 0xD3031B );
  119. graph.moveTo( xFirstPoint, yFirstPoint );
  120. graph.lineTo( xLastPoint, yLastPoint );
  121. }
  122. public static function areaDraw( graph:Graphics, points:Array, nbPoints:int ) : void
  123. {
  124. var i : int;
  125. graph.lineStyle( 2, 0xD3031B );
  126. for( i = 0; i < nbPoints-1; i++ )
  127. {
  128. graph.moveTo( points[i].x, points[i].y );
  129. graph.lineTo( points[i+1].x, points[i+1].y );
  130. }
  131. graph.moveTo( points[nbPoints-1].x, points[nbPoints-1].y );
  132. graph.lineTo( points[0].x, points[0].y );
  133. }
  134. }
  135. }