본문 바로가기

csharp

[AS3 , C# ,Serialize]AS3 와 C#의 직렬화 비교 [AS3 , C# ,Serialize]AS3 와 C#의 직렬화 비교 먼저 As3.0( AIR2.0 ) 이다 as.swfcsharp.swf Created with colorer-take5 library. Type 'csharp' //c#�� [Serializable] 와 비슷한 개념 [RemoteClass] public class Test { private var _str:String = "test"; public function Test() { } public function get str():String { return _str; } public function set str(value:String):void { _str = value; } } //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.. 더보기
[c# TCP socket] Clinet가 죽은것을 알아채기 TcpClient 클래스 속성중 Connected 라는 속성이 있다. 말그대로 클라이언트가 살았는지 죽었는지 판단하는 속성인데 서버에서 잘 작동하지 않는다. ( 나만 잘 모르는 것일수도 있다.) 그리고 통상적으로 while 루프 안에 스트림을 읽어 오는 코드를 작성한다음 클라이언트 프로그램이 종료 되는경우를 TcpClient 클래스 속성중 Connected 를 이용하면 무한 루프에 빠진다. 해결책은 클라이언트로 오는 바이트 수가 "0" 인것을 확인하여 처리를 해주면 된다. while(true) { /***중요***/ reciveByte = new byte[1024]; data = reader.ReadLine(); if(data == null) { Invoke(mrg , "클라이언트가 죽었습니다"); Ac.. 더보기
[Simple Text Writer V0.1] 간편한 파일 쓰기 어플 간편한 파일 쓰기 어플 client code (AS3) flush 규칙! 파일경로(filePath):::내용(content) + "\n" (':::' 요걸로 파일경로와 내용을 구분합니다.) ex >> "c:\\sampleFolder\\childFolder\\content.xml" +":::" +xml.toString() +"\n"; 그냥 자기 컴퓨터에서 돌아가는 로컬용 입니다.(웹은 당연 안돌아가겠죠) 대용량은 테스트 안해봤습니다. 하루 종일 돌려보진 않았습니다. 피드백은 덧글로.. 버전업은 할수 있을지. ,, 과연 = =; 옵션도 넣고 하려 했지만.. 일을 줄이기 위해 만드는건데, 이게 더 일이 될것 같아서 딱 필요한것만 구현했습니다. 더보기
[WinForm] Graphic을 PictureBox에 넣어보자! 픽처박스에 이미지를 바로 넣으면 좌표와 크기 조절등에서 제약이 생긴다. 그래서 그래픽을 사용하였다. 그리리고 문제는 그림이 윗창에 가리거나 최소화 되는경우 그림이 지워지는 경우가 발생하였다. ( 당연한 경우지만.. ) 그래서 알아본결과 http://www.techotopia.com/index.php/Drawing_Graphics_in_C_Sharp 처럼 Graphic을 사용할시 Paint 이벤트를 사용해 변경이 있을때 마다 매번 다시 그려 줘야 한다고 한다. 그러나 Paint 이벤트를 사용한다면 고속처리가 어렵다. 그래서 픽처박스의 고속 이미지 처리와 Graphic을 사용하여 위치와 크기 조절을 할수 있는방법을 알아보겠다 ( 왜... 구글링해도 안나올까? ) Created with colorer-take.. 더보기
[Sharp Developer , XNA3.1] SharpDeveloper 의 Empty 프로젝트에 XNA 사용하기 새 솔루션에서 Empty 프로젝트를 생성 참조 추가에 xna 를 찾아준다. 기본적인 Game1.cs 코딩을 해준다. 시작점을 잡아주고... 디버깅 성공... 오늘도 잡기술만 늘어가고........ 더보기
[XNA , Texture2D] Texture2D from Bitmap (very Simple) Content.Load 로 불러올수 있는것은 *.xnb밖에 없다. 동적으로 캡춰되거나 연산된 비트맵을 받아오기가 영 까다롭다. 그래서 매우 간단한 비트맵 복사 방법을 생각했다. Created with colorer-take5 library. Type 'csharp' private Texture2D tx; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); //비트맵을 만든다. Bitmap b = new Bitmap(@"c:\a.jpg"); //xna �� 컬러배열을 타겟 비트맵 크기만큼 생성한다. xColor[] pixels = new xColor[b.Width * b.Height]; //x , y 루.. 더보기
[c#][Aforge] 웹캠 영상출력 http://www.codeproject.com/KB/game/VidTextureClassWebcamApp.aspx?msg=2630927 는 속도도 그렇고., 품질이 조금 아닌듯 하여.. Aforge 로 캠영상을 받아서 픽셀을 실시간으로 Texture2D로 카피하는 계획을 세웠다. 우선 Aforge.net 으로 매우 간단한 캠 영상받기 Created with colorer-take5 library. Type 'csharp' using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; usi.. 더보기
[BackGroundWorkerTEST] Sync , Async , Thread 주요 Code MSDN http://msdn.microsoft.com/ko-kr/library/system.componentmodel.backgroundworker(v=VS.90).aspx?appId=Dev10IDEF1&l=KO-KR&k=k(EHINVALIDOPERATION.WINFORMS.ILLEGALCROSSTHREADCALL);k(TargetFrameworkMoniker-".NETFRAMEWORK&k=VERSION=V3.5");k(DevLang-CSHARP)&rd=true Created with colorer-take5 library. Type 'csharp' //sync private void testCodeSync() { using (System.Net.WebClient wc = new Syst.. 더보기
[user32.dll] 강제 마우스 컨트롤 ( user32.dll spec ) 스트레스 테스트에 활용할법한.. Created with colorer-take5 library. Type 'csharp' using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Diagnostics; namespace AutoMouseTest { public partial class AutoMouseCursor : Form { //user32.d.. 더보기
[XNA3.1 index buffer vertex buffter] 교과서와는 다른 버퍼메모리 사용법 한참을 방황했다.. 버퍼가 안되서.. DrawUserIndexPrimitives vs DrawIndexPrimitives 라는 주제를 한번쯤 보았을것이다. 물론 후자쪽이 빠르다. 그런데, 가지고 있는 한글번역판 책들은 죄다 xna1.0 버전이라,, 그런지 xna3 에서는 사용법이 달랐다. Created with colorer-take5 library. Type 'csharp' public void setVertices() { // vertices 들 ~// //vertexBuff 라는 멤버 변��가 있겠죠.. vertexBuff = new VertexBuffer(device.GraphicsDevice, VertexPositionNormalTexture.SizeInBytes * vertices.Length.. 더보기
[XNA Rectangle on 3D] 사각형을 그려보자 (제발) 우선 목표는 이러하다 , 사각형의 중심을 원점 으로 한 3d 상의 사각형을 만들것이다. 그리고 텍스쳐도 입혀 보자. 이목표를 실현 하기 위해서는 어느정도의 준비 과정이 필요하다. 바로 카메라의 셋팅이다. 물론 기본적으로 생성되어 있지만 3D 물체를 제대로 볼수가 없다. Game1.cs 코드는 간단하나 워낙 단어들이 길어서 따로 주석을 포함한 소스코드를 참고 할것. 더보기
[C# FileDialog] 간단한 Open / Save 파일 다이얼로그 Created with colorer-take5 library. Type 'csharp' //파일 ��픈 다이얼로그 OpenFileDialog openPanel = new OpenFileDialog(); openPanel.InitialDirectory = "d:\\"; openPanel.Filter = "CustomFile (*.cus)|*.cus|txt (*.txt)|*.txt | All files (*.*)|(*.*)"; if(openPanel.ShowDialog() == DialogResult.OK) { Trace.WriteLine("OK " +openPanel.FileName+ " " + openPanel.SafeFileName); } //파일 세이브 다이얼로그 SaveFileDialog save.. 더보기
[C# Thread]종료시 프로세스 죽이기 Thread 를 사용하고, 프로그램을 그냥 종료 하면 작업관리자에 프로세스가 완전히 죽지 않는 경우가 생긴다. 이때 C#의 ApplicationExit 이벤트로 처리해주어야 한다. Application.ApplicationExit += new EventHandler(Application_ApplicationExit); ///..../// void Application_ApplicationExit(object sender, EventArgs e) { try{ server.Stop(); if(clinet != null) clinet.Close(); writer.Close(); reader.Close(); serverThread.Abort(); }catch{} } 여기서 server는 TCPListener 이.. 더보기
[BeginInvoke] Delegate 로 스레드에 매개변수 전달하기 보통 스레드를 Thread t = new Thread( new ThreadStrat(Method) ); 의 형태로 사용 하는데 Method 에 매개변수를 전달하지 못한다는 제약이 있다. 그래서 delegate 의 BeginInvoke 메소드를 통해 스레드를 작성해보자. Created with colorer-take5 library. Type 'csharp' /* * SharpDevelop으로 작성��었습니다. * 사용자: jjongun * 날짜: 2010-02-04 * 시간: ��후 4:48 * */ using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Thre.. 더보기
[Windows form Invoke] System.Timers.Timer 로 windows form 접근하기 http://blog.daum.net/starkcb/117 를 보면 System.Timers.Timer (이하 시스템타이머) 로 윈도우 폼에 접근이 안된다는것을 확인할수 있다. 하지만 Invoke메서드 를 이용한 본인의 삽질끝에 발견했다. SharpDeveloper 사용 Created with colorer-take5 library. Type 'csharp' /* * System.Timers.Timer 로 windows form 접근��기 * lang : c# */ using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Timers; using System.Dia.. 더보기
[C# XNA][texture2D.Setdata] XNA에서 픽셀을 하나하나 다루어 보자. xna의 API 가 익숙하지 않았던때, 픽셀을 다루기 위해 C#의 기본 GDI를 이용해여 마샬링 하여 텍스쳐에 붙였다. 그런데,. 반전이.. zune hd 에서 사용할수 있는 네임스페이스가 극히 제한적이라.. Bitmap은 가져 오지 못한다. 그래서 텍스쳐하나당 한픽셀을 그려야 된다고 생각하자 말도안되는 리소스 낭비이다. 텍스쳐2D 와 Draw메소드를 엄청나게 사용해야되서, 도저히 용납할수 없는 코딩이 될것이다. 고민끝에, ,.XNA짱인,. 곰동님에게 긴급 질문했다. 그리고 친절히 답해 주셨다. ( http://blog.naver.com/fly33499 ) 위의 그림처럼 하나의 Texture2D에 여러개의 setData를 이용해 픽셀들을 다룰수 있다. 드디어 2D 비트맵을 다룰수 있게 되었다 마치 bit.. 더보기