본문 바로가기

texture2D

[간단메모] Texture2D , Alpha Color private Texture2D tx; private Rectangle txRect; private Color txColor; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); using (System.IO.FileStream fs = new System.IO.FileStream (@"d:\logo2.jpg" ,System.IO.FileMode.Open)) { tx = Texture2D.FromStream(GraphicsDevice, fs); }; txRect = new Rectangle(0, 0, tx.Width, tx.Height); txColor = new Color(255, 255, 255, .. 더보기
[XNA , Texture2D] Texture2D from Bitmap (fast copy) 종전의 방식 (http://scripter.egloos.com/2548511) 으로는 너무 느려 실시간으로 이미지를 갱신하는데에 무리가 있었다. 그래서 아에 Stream 으로 복사하는 방법을 찾았고 Aforge 의 영상을 붙이는데 성공했다. 이전의 http://www.codeproject.com/KB/game/VidTextureClassWebcamApp.aspx?msg=2630927 보다 화질은 좋아졌다.(쨍 .. 하다..) 간혹 보이는 계단현상이 없어졌다. 속도는 .. 처음엔 조금 딜레이가 생기다가 곧 VideoTexture 만큼 복귀 되었으나 약간 속도가 불안정하긴 했다. 하지만 VideoTexture 에서 런타임중 간헐적으로 나오는 오퍼레이터 에러는 없어 덜컥? 거리는 현상이 없다. 그리고 Vide.. 더보기
[Texture2D] Texture2D에 일정역역만 복사하기 원본 텍스쳐에서 일부분만 그리는 방법에서 기초적인 방법은 Draw 에서 그릴 영역을 지정하는것인데 리소스 낭비가 발생할수 있어서 아에 처음부터 영역을 정하고 들어가도록 하는 방법이다. Created with colorer-take5 library. Type 'csharp' //http://scripter.egloos.com //원본 이미지 텍스쳐 Texture2D targetTx; //복제할 이미지 텍스쳐 Texture2D copyTx; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); //원본 이미지를 가져��다 targetTx = Texture2D.FromFile(GraphicsDevice,@"c.. 더보기
[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 루.. 더보기
하나의 BasicEffect 에 여러 텍스쳐 그리기 대신 루프에 한줄씩 더 추가되어 시피유 올라감 --; 더보기
[C# XNA][texture2D.Setdata] XNA에서 픽셀을 하나하나 다루어 보자. xna의 API 가 익숙하지 않았던때, 픽셀을 다루기 위해 C#의 기본 GDI를 이용해여 마샬링 하여 텍스쳐에 붙였다. 그런데,. 반전이.. zune hd 에서 사용할수 있는 네임스페이스가 극히 제한적이라.. Bitmap은 가져 오지 못한다. 그래서 텍스쳐하나당 한픽셀을 그려야 된다고 생각하자 말도안되는 리소스 낭비이다. 텍스쳐2D 와 Draw메소드를 엄청나게 사용해야되서, 도저히 용납할수 없는 코딩이 될것이다. 고민끝에, ,.XNA짱인,. 곰동님에게 긴급 질문했다. 그리고 친절히 답해 주셨다. ( http://blog.naver.com/fly33499 ) 위의 그림처럼 하나의 Texture2D에 여러개의 setData를 이용해 픽셀들을 다룰수 있다. 드디어 2D 비트맵을 다룰수 있게 되었다 마치 bit.. 더보기