반응형

참조 : http://www.codeproject.com/Articles/11505/NGif-Animated-GIF-Encoder-for-NET




c#으로 만든 GIF생성프로그램


NGif_src의 소스를 참조했다.


뭐... 말이 참조지 실제로 만든부분은 UI에 불과하고 실제 소스는 NGif_src의 것을 그대로 썼다.

NGif는 .net 2003버전으로 만들어진 프로젝트인데 2010으로 변환해서 사용하니 아무문제 없이 잘돌아간다.


아래는 내가 임의로 만든 GIF생성프로그램의 UI이다.


1)은 저장할 파일명이다.

2)는 파일이 저장될 경로

3)은 재생돼는 시간단위이다. 100밀리초 이므로 0.1초 단위로 이미지가 재생된다.

4)반복설정은 모든이미지가 재생된 후 처음부터 다시 자동재생할지 여부를 설정한다.

5)GIF의 소스가 될 이미지 목록이다. 정렬된 순서로 GIF이미지에 삽입된다.

6)2의 저장할 경로를 바꾸는 버튼이다.

7)소스가 될 이미지들을 불러온다.

8)5에서 선택부분이 체크된 항목들을 삭제한다.

9)GIF를 생성한다.

10)5의 목록은 다중선택 할 수 있는데 선택된 항목의 선택을 표시한다.

11)5의 목록에서 다중선택된 항목을 해제한다.

12)일괄전체 선택한다.

13)일괄전체 해제한다.

14)파란색으로 강조된 선택항목을 윗열로 올려서 순서를 바꾼다.

15)파란색으로 강조된 선택항목을 아랫열로 내려서 순서를 바꾼다.

16)목록에 올라와있는 이미지들을 18의 미리보기창에서 재생한다.

17)16버튼을 클릭해서 자동재생돼는 이미지를 중지시킨다.

18)5의 목록에서 선택을 하면 이미지가 미리보여지며 16버튼을 클릭해서 자동재생시에도 표시된다.

    자동재생시의 이미지는 실제 GIF와 유사하지만 반드시 일치하지는 않는다.(각이미지의 가로세로 비율 때문에 실제이미지와

    다르게 보일 수 있다.




GIFmake.zip


반응형




확실히 잘만들었다.

근래에 본영화중에 최고였다.


흔히들 스페이스오딧세이2001과 비교하곤 하는데 시각적 즐거움면에서는 2001보다야 나을지 모르겠지만

아무리 그래도 인터스텔라가 2001을 압도할수는 없다고 생각한다.


단지 2001이 다소 몽환적인 판타지의 느낌이 있었다면 비슷한 소재를 굉장히 구체적으로 풀어놨다는 점이 다르달까?

2001과 인터스텔라의 관계는 마치 놀란감독이 베트맨시리즈의 조커를 재해석한 것과 비슷한 느낌을 받았다.


굉장히 잘만들었고 재미있게 보았고 내취향과  잘 맞는 영화였다.


※몇달전에 감상했던 트랜센던스따위와는 비교할 수 없을 정도로 잘만들었다.

트랜센던스는 굉장히 재미있게 만들 수 있는 소재를 참 그지같이 만들었고

인터스텔라는 재미있는 소재기는 하지만 자칫하면 3류소설이 됄수있는 까다로운 아이디어를 제대로 영화화한 것 같다.


반응형

굉장히 간단한 내용이다.

AJAX로 사용하는 요즘은 거의 사용할 일이 없는 태크닉인데

asp.net 2.0으로 구축된 사이트를 유지보수하다 보니 발생하는 귀찮음 때문에 찾아보다가 주저리 주저리 써본다.


Page.aspx에 


<asp:Label ID="lbl01" runat="server"></asp:Label>

<asp:Label ID="lbl02" runat="server"></asp:Label>

<asp:Label ID="lbl03" runat="server"></asp:Label>

<asp:Label ID="lbl04" runat="server"></asp:Label>

<asp:Label ID="lbl05" runat="server"></asp:Label>


와 같이 Label컨트롤을 순차적으로 생성 돼있다.

이 Label들에 값들을 일일이 코딩해주려니 귀찮고  for문등을 이용해서 자동으로 값을 넣고 싶은데 방법을 잘모르겠고...


여튼 해결 방법은 다음과 같다.

((Label)Page.FindControl(id)).Text = _txt;

굉장히 단순하다.

이를 응용해서 for문으로 값을 넣는다면

string[] _values = {"1","2","3","4","5"};

의 값을 자동으로 넣는다고 가정해보자.

for(int i = 0; i < 5; i++)

{

((Label)Page.FindControl("lbl0" + (i + 1).toString() )).Text = _values[i];

}

이런식으로 처리하면 매우 간단하다. 

여튼 핵심은 Page.FindControl("ID")가 돼겠다.



반응형



...

반응형

<script type="text/javascript">


var num = 3.14;


// 그대로 출력

document.write(num, '<br />');

// 출력 결과: 3.14


// 소수점 이하 6자리로 강제로 출력

document.write(num.toFixed(6), '<br />');

// 출력 결과: 3.140000





num = 3.1415926535897932384626433832795;


// 그대로 출력

document.write(num, '<br />');

// 출력 결과: 3.141592653589793


// 소수점 이하 3자리로 출력

document.write(num.toFixed(3), '<br />');

// 출력 결과 (반올림됨): 3.142



</script>


※출처 : http://mwultong.blogspot.com/2007/08/javascript-tofixed.html


자바스크립트에서 숫자가 0.02555555555555555555555555555555와 같이 나올때

이숫자를 0.03으로 변경할때 사용한다.

숫자가 지정된 변수에 val.toFixed(2);로 사용한다.

+ Recent posts