블로그 이미지
플래시 개발자랍니다... 하지만 여긴 플래시 전문 블로그가 아닌 그냥 개인 블로그랍니다
미나토

Recent Comment

calendar

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
  • 40,987total
  • 8today
  • 22yesterday
2010/05/06 11:16 Flash Platform

flash player 10 에서 비트맵 데이터는 8192 픽셀을 넘을 수 없습니다...

그런데 어쩌다보면 그 이상의 이미지를 사용해야 하는 경우도 생기지요

그럼 노가다로 일일히 자르는 작업을 하게 되는데, 그러지 않기 위해 만든 코드입니다...




우선 첨부한 클래스와 다음의 링크에서도 코드를 다운 받아주시고요


첨부한 클래스는 제가 작성한 거지만, 위의 구글 코드는 저와 관련이 없습니다... 알케미를 이용한 듯 싶기도 한데... 정확히는 뒤져보질 않아서리...


원리를 설명하자면 제 코드에서 바이너리 형식으로 jpg를 부르고 jpg 디코더로 디코딩을 하여 픽셀값을 가지고 있게 되고 다시 제코드로 넘어와 원하는 영역(Rectangle) BitmapData 를 사용할 수 있게 해놨습니다

각각 영역을 가져와 한 컨테이너에 여러개로 넣어서 원래 이미지 대로 사용하던가, 특정 영역만 불러와서 그대로 사용하셔도 됩니다



이건 2만 픽셀 넘는 이미지를 컨트럴 해야 하는 팀원에게 이런식으로 짜면 된다를 보여주기 위한 교육용 코드입니다. 그렇기 때문에 테스트는 전혀 되있지 않습니다.


혹시라도 안된다고... 아니면 잘 모르겠다 더 자세히 설명해달라고 해봤자 가볍게 무시할 뿐입니다...



대충 사용법은 다음과 같습니다. 몇몇 인수들이 뭘 의미할 지는 코드 보면서 이해해보세요...





var loader:BigJPGLoader = new BigJPGLoader();

loader.addEventListener(Event.COMPLETE, complete);

loader.load(new URLRequest("jpg 경로"));



function complete(e:Event)

{

var bd:BitmapData = loader.getBitmapData(new Rectangle(9000, 9000, 100, 100));

addChild(new Bitmap(bd));

}







p.s. 이미지가 너무크면 파싱순간 버벅거리는건 저로서는 어쩔 수 없습니다요




크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2009/06/04 14:42 Flash Platform



1. 정수의 분류 (몫과 나머지, 정수의 분류)

2. 정수의 약수와 배수 (약수와 배수의 정의, 소수와 합성수, 소인수분해)



크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2009/06/04 10:56 Flash Platform



① 몫과 나머지

정수 a 를 양의 정수 m 으로 나눌 때,

a = m * q + r (단, 0 <= r < m)

인 정수 q, r 는 오직 하나 정해진다


var a:int;
var m:uint;
var r:uint;
var q:int;
var r:int;

q = Math.floor(a / m);
r = a % m;




② 정수의 분류

모든 정수는 어떤 한개의 양의 정수 k로 나눈 나머지에 의하여 다음과 같이 분류할 수 있다

k * n, k * n + 1, k * n + 2,..., k* n + (k - 1) (단, n 은 정수)


var k:uint;
var n:int;
var r:int = n % k;
var i:uint;
while (i < k)
{
if(r == i)
{
trace("정수의 분류 증명")
break;
}
i++;
}
if(i == k) trace("정수의 분류 증명 실패")

////////

정수의 분류 증명



1. 예제 풀이

3으로 나누면 1이 남거나 5로 나누면 3이 남는 100 이하의 자연수는 모두 몇 개인가?


var array:Array = [];

var n:uint = 100;
var i:uint;
while (i <= n)
{
if(i % 3 == 1 || i % 5 == 3)
{
array.push(i);
}
i++;
}

trace(array.length)

///////

48


p.s. 위 예제는 p70 에 있는 예제인데 책에서는 합집합을 구한 후 교집합을 빼서 구하였다. 전의 집합에서 사용한 메소드를 이용하여 그렇게도 풀 수는 있지만 굳이 그럴 것 까지야...



크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2009/05/27 19:40 Flash Platform



1. 집합의 뜻과 표시법

2. 집합의 포함관계 (부분집합, 진부분집합, 유한집합, 무한집합, 공집합)

3. 집합의 연산 (합집합, 교집합, 전체집합, 여집합, 차집합, 집합의 연산법칙)

4. 유한집합의 원소와 개수


크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토
2009/05/26 17:47 Flash Platform


앞서서의 MathSet 클래스를 이용하여 실제 정석 책에 있는 문제를 풀어보도록 하겠다

① 1부터 20까지의 정수 중에서 다음을 구하여라

    1. 3의 배수가 아닌 정수의 개수

   
// 1부터 20까지의 정수를 포함하는 전체집합
var U:Array = [];
var i:uint = 1;
while(i <= 20)
{
    U[i - 1] = i;
    i ++;
}

// 전체집합 중 3의 배수
var A:Array = [];
var cnt:uint = U.length;
i = 1;
while(i <= 20)
{
    var n:Number = U[i];
    if(n % 3 == 0)    A.push(n);
    i ++;
}

trace(MathSet.differenceMathSet(U, A).length)

//////////////////////

14

집합의 연산에서 배운 차집합을 이용한 계산이다...

U - A 라는 뜻이다

실제로 구하려면 굳이 차집합 메소드를 이용하지는 않겠지만 지금은 앞서 작성한 코드가 제대로 동작하는 지를 보는 것이니...


이번에는 여기까지다...


벌써 귀찮아진건 아니고 책을 보니 이번 챕터는 다 연습문제를 푸는 것이라...별로 할게 없다... 책을 구하셔서 직접들 앞서의 클래스를 이용하여 풀어보는 수밖에...


그럼 이상으로 집합의 연산 단원을 마치고 다음 단원인 명제와 조건으로 넘어가도록 하겠다...







크리에이티브 커먼즈 라이선스
Creative Commons License
posted by 미나토