[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 에서 런타임중 간헐적으로 나오는 오퍼레이터 에러는 없어 덜컥? 거리는 현상이
없다.

그리고 VideoTexture 보다는 시피유 점유율이 조금 높게 나왔다.

Created with colorer-take5 library. Type 'csharp'

private Texture2D tx;
        //Aforge �� 플레이어
        VideoSourcePlayer player = new VideoSourcePlayer();

        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);
            tx = new Texture2D(graphics.GraphicsDevice, 1024, 768);//dummy;


            //Aforge �� 디바이스 설정 
            FilterInfoCollection device = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            VideoCaptureDevice cam = new VideoCaptureDevice(device[0].MonikerString);
            
            player.VideoSource = cam;
            player.Start();

            //플레이어가 갱신될때 마다 ��출
            player.NewFrame += new VideoSourcePlayer.NewFrameHandler(player_NewFrame);
        }


        //인��로 비트맵을 받음
        void player_NewFrame(object sender, ref Bitmap _image)
        {
            //비트맵�� 고속 복사
            MemoryStream camStream = new MemoryStream();
            player.GetCurrentVideoFrame().Save(camStream, ImageFormat.Bmp);
            camStream.Position = 0;
            tx = Texture2D.FromFile(graphics.GraphicsDevice, camStream);
            
        }
 
 
 
포인트 : 비트맵의 고속복사. 


나중에 곧.. ? Aforge의 VideoSourcePlayer의 stream 을 직접 참조 할수 있는 방법을 모색하여 좀더
높은 퍼포먼스를...
Yamecoder 야매코더_
tags : bitmap, copy, texture2D, XNA
카테고리 없음 2010. 12. 4. 03:48

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon Cuff Bracelet 2014.08.06 06:29  수정/삭제  댓글쓰기

    는니Washington Mystics picked her first overall. Lon Babby -- the Phoenix Suns president of basketball operations who represented basketball stars such as Tim Duncan, Grant Hill and Ray Allen as an agent -- added Holdsclaw to his client roster. Nike inked her to a five-year endorsement deal with a reported annual payout of more than $500,Silver Locket,000, or about 10 times her WNBA salary. Holdsclaw 정하

  3. BlogIcon British Soccer Jerseys 2014.08.06 06:31  수정/삭제  댓글쓰기

    종는cellpadding="0" cellspacing="0">
    ,Fake Tiffany And Co,Jewelry Fake

    Northern Illinois at Iowa


    Saturday,Tiffany Fake Jewelry,Tiffany Pearl Jewelry,NHL Jerseys, Aug. 31


    3:30 p.m. ET,Shop Engagement Rings,New York Giants Jerseys,Vintage Tiffany Rings, BTN
    일수

  4. BlogIcon Buy Jewelry Online Cheap 2014.08.09 04:11  수정/삭제  댓글쓰기

    뉴겠data-label="runs" data-league="american-league" data-season="2014" data-resource="" data-current="" data-disqualified="">
    ,Online Jewellery IndiaMike Trout
    72


    Jose Bautista
    65


    Jose Bautista
    65


    Jose Reyes
    56

    <tr data-source-type="runs" data-label="runs" data-league="mlb" data-season="2013" data-resource="1"가지

  5. BlogIcon Nba Replica Basketball 2014.08.12 14:10  수정/삭제  댓글쓰기

    가뉴SALT LAKE CITY (AP) The Utah have signed free agent forward ,Coupons For Tiffany And Co.

    Booker has played all four of his NBA seasons in Washington,Cuff Bracelet,Custom Ncaa Jerseys,Diamond Engagement Rings For Women, averaging 6.4 points and 5.1 minutes in 235 career games,Outlet Jewelry Stores,Tiffany Lock Necklace, including 105 starts. He averaged 6.8 points and 5.3 rebounds last season.던가

  6. BlogIcon Discount Nhl Jerseys 2014.08.14 13:18  수정/삭제  댓글쓰기

    마분style="font-size: 1rem; letter-spacing: 0.03125rem; line-height: 1,Tiffany Amethyst Ring,Top 10 College Football Jerseys.625rem,Stainless Steel Bracelets,Nfl Jerseys Wholesale;">??Corey Kluber, Indians (@ Royals) --,Tiffany Fake Jewelry,Cheap Nhl Jerseys?Kluber has started three times against the Royals this year,Diamond Jewellery,Nba Products, working one complete game and tossing 8 1/3 innings i관런

  7. BlogIcon Ncaa Basketball Shirts 2014.08.14 13:19  수정/삭제  댓글쓰기

    스시recovered" data-league="panthers" data-season="2013" data-resource="" data-current="" data-disqualified="">
    ,Cheap Sterling Silver Jewelry OnlineDwan Edwards
    2


    Chase Blackburn
    0


    Chase Blackburn
    1


    Chase Blackburn
    0

    <tr data-source-type="fumbleRecoveries" data-label="fumbles버어

  8. BlogIcon Gucci Bags On Sale Cheap 2014.08.17 09:38  수정/삭제  댓글쓰기

    로선,Store Gucci
    1
    1
    0
    2
    1
    -4
    11





    34
    5-11
    3-5
    0-0
    11
    12
    0기일

  9. BlogIcon 匿名 2014.08.19 14:29  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  10. BlogIcon Gucci Totes 2014.08.22 02:55  수정/삭제  댓글쓰기

    메있"You have to have a better system in place. internal investigations took months to complete,647 $64,710 $10,7 3 0 0 0 0 0 0 0 OPP 19-GOAL 6 3 3 00 1 1 0 0 0 0 0 0 0 0 BY OFFENSIVE FORMATION COMB TOTAL
    In New York's central park live on "Gma, That's grand slam home run from peter franise. The man, For one, "True detective. that sounds good. When bombers appear before NFL games -- it was attack 있뉴

  11. BlogIcon 匿名 2014.09.11 12:20  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  12. BlogIcon discount canada goose jackets 2014.09.18 00:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. BlogIcon 匿名 2014.09.21 23:12  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  14. BlogIcon 匿名 2014.09.28 14:42  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  15. BlogIcon authentic gucci outlet 2014.10.13 19:06  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  16. BlogIcon 深圳横岗眼镜批发 2014.11.12 00:52  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  17. 匿名 2014.12.03 05:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  18. BlogIcon moncler pas cher 2014.12.03 10:46  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  19. 匿名 2015.01.07 17:48  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  20. 匿名 2015.01.15 12:22  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  21. BlogIcon vetement burberry soldes 2015.03.27 21:10  수정/삭제  댓글쓰기

    고한mais il a &eacute;t&eacute; rejet&eacute;. le sud du lac de l'ouest de port Liu Zhuang vit dans Sands.Une vingtaine de jeunes gardes rouges ensemble et doubl&eacute;,Le Directeur du Bureau de l'histoire de burberry parfum pas cher la photographe Li Wei Shexian; interview de vieux voisins,le g&eacute;n&eacute;ral de brigade gauche de couteau alors que la terre.Le 14 janvier, le Conseil a ordonn&eac에뉴

[Draw Line Algorithm] 1. 기본(1)


[Draw Line Algorithm] 1. 기본(1)

XNA 에 별다른 비트맵 API가 없다는것을 알고 , 한번 픽셀을 다루기로 했다.

우선 브레슨햄 알고리즘 에 들어가기 전에 일반적인 선을 그리는 알고리즘을

살펴 보아야 하겠다.

먼저 우리가 비트맵에 선을 긋기 위해서는 일반적으로 두점을 필요로 한다. 
(물론 한점과 기울기를 이용할수도 있겠지만 특별한 경우가 아니라면 정확한 포인팅이 가능한 두점을 이용한다)  

우선 고등학교 기초 수학에 보면 두점을 알때 직선 방정식은 ..

(공통수학의 정석 p554)

p0(x0 , y0) 와 p1(x1,y1) 을 알때 직선의 방정식은 

Y - y0 = ( y1 - y0 / x1 - x0 ) * ( X - x0)  (단 , x1  !=  x0)

이러하다. 기본적인 Y = m*X 라는 공식에 대힙하면  ( y1 - y0 / x1 - x0 ) 이 기울기 이자

변화량 이란것쯤은 알수있다. 나머지 Y - y0  ,  X - x0  은 평행 이동 이다.

누구나 알고 있을법한 이 방정식을 비트맵 위에 표현해보자.

우선 비트맵은 정수들 "맵" 이다, 위의 공식의 영역은 "실수" 이다.

따라서 정수로 다운캐스팅 하여 표현 해야 한다.


이제 한번 본격적으로 for 루프를 생각해 보자

기본적으로 X 축 변화량을 생각하면 범위를 쉽게 생각할수 있다.
이다. 따라서 for 루프는 다음과 같이 될수 있겠다.

for( var _x:int =p0.x   ; _x < p1.x  ; ++_x)
{
    //
}


이것으로 공식의 우변 _x 를 설정 했다. 그리고 이것을 Y에 넣기 전에 기울기 m을 설정하자

var m:Number = (p1.y-p0.y)/(p1.x-p0.x);

이다

이제 루프를 완성하면

for( var _x:int =p0.x   ; _x < p1.x  ; ++_x)
{
     var _y:int =Math.round(m*(_x-p0.x) + p0.y);
     data.setPixel(_x,_y,0);
}


완성하면 여기서 dataBitmapData 이다.

그리고 위의 직선 공식을 정리하면 _y 값을 얻을수 있는데 

아까도 말했드시 비트맵은 정수를 사용하여서  round 로 반올림을 하여 정수화 했다.

이 공식을 이용하여 간단히 프로그래밍 해보면,.

Bresenham1_as.swf

p0 와 p1을 직접 움직여 보자



와 같은 결과를 낸다.  ( 브라우저에서 해보기 보단 직접 다운하여 로컬에서 추천)

그런데 조건이 있다.

1.
Y - y0 = ( y1 - y0 / x1 - x0 ) * ( X - x0)  (단 , x1  !=  x0)
에서의 조건인데 p0.x 와 p0.y 가 같으면 안되고

2.
또한 위의 결과물에서는 기울기가 (-) 이 되었을때 , 즉( p0.x > p1.x ) 가 되었을때,

3.
x의 변화량 보다 y의 변화량이 클때 , 즉 기울기가 1 보다 클때 비트맵의 양 조절


이렇게 3개 이고 이것에 대해 파생되는 여러 예외를 제어 해야 한다.

'수학' 카테고리의 다른 글

[Draw Line Algorithm] 1. 기본(2) 총정리  (90) 2010.12.04
[Draw Line Algorithm] 1. 기본(1)  (65) 2010.12.04
[회전변환] 특정좌표를 중심으로 회전변환  (122) 2010.12.04
[삼각함수] 기울어진 그리드의 좌표 구하기  (39) 2010.12.04
정렬  (45) 2010.12.04
atan2 를 "도" 로 환산  (200) 2010.12.04
Yamecoder 야매코더_
수학 2010. 12. 4. 03:39

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon discount gucci handbags 2014.07.25 18:01  수정/삭제  댓글쓰기

    그전Parrots may use a few assist in winter season

    When the blowing wind started support away, up to two hundred robins had been soaring within the community. These were dealing with the actual surprise which created the actual 7 days associated with Thanksgiving holiday unforgettable. Team following team handed cost to do business nearly without layovers. They'd already been giving about the fruits뉴어

  3. BlogIcon 匿名 2014.07.28 02:11  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  4. BlogIcon 匿名 2014.07.28 02:13  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  5. BlogIcon 匿名 2014.08.19 14:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  6. BlogIcon gucci outlet online 2014.08.24 12:55  수정/삭제  댓글쓰기

    는방Natural supplements from wholesome discount rates via Puritans Satisfaction coupon codes seventy

    Puritan utes satisfaction is really a 1 cease location with regard to buying just about all low cost dietary supplements as well as nutritional vitamins which have to preserve as well as wholesome as well as shaping way of life. It's accurate which although many people anticipate purchase these type일는

  7. BlogIcon 匿名 2014.09.11 01:20  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  8. BlogIcon 匿名 2014.09.28 14:39  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  9. 匿名 2014.11.10 17:32  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  10. BlogIcon 深圳横岗眼镜批发 2014.11.12 00:51  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  11. BlogIcon Cheap sony tv 2014.11.12 03:17  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  12. BlogIcon moncler 800 euro 2014.11.12 11:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. BlogIcon moncler 2012 uomo 2014.11.12 11:46  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  14. 匿名 2014.12.03 05:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  15. 匿名 2015.01.07 17:46  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  16. BlogIcon Hermes Bags For Women 2015.01.12 00:45  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  17. 匿名 2015.01.14 18:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  18. 匿名 2015.01.15 12:21  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  19. 匿名 2015.02.06 14:13  수정/삭제  댓글쓰기

    예지大话西游服务端凡人修真服务端大话西游服务端页游服务端问道服务端

    跑跑卡丁车服务端英雄远征服务端幻灵游侠私服务端洪荒神话私服务端

    完美世界服务端烈焰服务端洛汗服务端新魔界服务端绝对女神私服务端


    魔兽私服开区一条龙服务-

    传奇私服开传奇一条龙服务-


    传奇广告代理-

    IDC服务器以及空间租用-

    魔域开区sf一条龙开区服务-


    客服咨询QQ(企鹅扣扣)1325876192

    Email:1325876192@qq.com

    商业版本免费开放下载




    紫川科技最新毁灭天下1.85狂雷独家合击热血复古三职业新装传奇服务端



    紫川科技20星大极品良装+80麒麟锻造中变传奇服务端



    紫川科技独家轻变1.89奥妙转生神龙锻造珍珑元素版传奇服务端



    紫川科技独家九转1.85四皇冠加倍装备特戒龙卫지크

  20. BlogIcon chemise burberry femme pas cher 2015.03.27 21:10  수정/삭제  댓글쓰기

    어서appel&eacute; le sale boulot. burberry soldes Vasquez esquimau et Qiulin moderne. la retraite,Matin soudain d'&agrave; ct&eacute; les gar&ccedil;ons chanter: "d&eacute;termination. les g&eacute;n&eacute;rations &agrave; venir pour les anciens dieux.
    homog&egrave;ne, de munitions et de la nourriture suffisante. la production de WC et salle de bains sont &eacute;troitement li&eacute;s. je veux le 적드

  21. BlogIcon trench coat burberry 2015.03.31 00:04  수정/삭제  댓글쓰기

    상뉴URL aIci,basket burberry homme相关的主题文章:알서

[bitmapData Capture] stage capture 시 유의점

상황은 트위너로 5개의 cicle을 랜덤하게 트위닝 하고,
그것을 엔터프레임으로 비트맵 데이터로 캡춰를 하는 상황이다.

그리고 엔터프레임 안에는 기본적으로 아래와 같이 작성을 한다.

//in EnterFrame
capture = new BitmapData(stage.stageWidth, stage.stageHeight , false ,0xd0d0d0)
capture.draw(stage)
//

그럼 결과는


하지만 이것은 원하는결과가 아니다.
잔상이 없는 결과를 원하면 스테이지에 바로 addChild하지말고
컨테이너를 하나 만든다음 해줘야 한다.

//in EnterFrame
capture = new BitmapData(stage.stageWidth, stage.stageHeight , false ,0xd0d0d0)
capture.draw(contaner) // contaner 는 Sprite 인스턴스이다.
//

결과는



테스트 코드는 captureTest.txt
Yamecoder 야매코더_
AS3 2010. 12. 4. 02:41

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon chanel outlet store 2014.10.16 08:17  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  3. BlogIcon giubbotti woolrich 2014.10.24 07:24  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  4. BlogIcon meizitang strong version 2014.11.01 23:32  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  5. 匿名 2014.11.10 17:32  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  6. BlogIcon 深圳眼镜批发 2014.11.12 00:51  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  7. BlogIcon moncler 70 tal 2014.11.12 11:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  8. BlogIcon moncler store 90 prince street 2014.11.12 11:45  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  9. BlogIcon Polo Shirt Ralph Lauren 2014.11.23 08:08  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  10. 匿名 2014.12.03 05:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  11. 匿名 2015.01.07 17:45  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  12. 匿名 2015.01.15 12:20  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. 匿名 2015.02.11 14:03  수정/삭제  댓글쓰기

    버종剑侠情缘服务端密传服务端街头篮球服务端A3私服务端破天一剑服务端

    魔域服务端魔兽世界服务端天龙八部服务端RF服务端传奇归来私服务端

    风云雄霸天下服务端天之炼狱一条龙大话西游服务端精灵复兴私服务端


    传奇世界私服开服一条龙服务-

    魔兽私服开区一条龙服务-


    IDC服务器以及空间租用-

    魔域开区sf一条龙开区服务-

    传奇广告代理-


    客服咨询QQ(企鹅扣扣)1292124634

    Email:1292124634@qq.com

    商业版本免费开放下载




    前沿科技1.80怀旧复古赤月终极烟花教主淘宝秒杀商城升级版



    前沿科技1.76雄霸特色大极品+50元素倚天辟地狂风连击传奇



    前沿科技3D真彩无英雄中变靓装元素傲天朱雀神龙毒血斩



    前沿科技至尊中变1.89无英雄元素立法之殿版

    로전

  14. BlogIcon duffle coat burberry homme pas cher 2015.03.27 21:10  수정/삭제  댓글쓰기

    가스tandis que la lecture de la discussion. Langya (aujourd'hui pr&egrave;s de la gare,Peur de la chanson de fuir le pays de Confucius, le temple du ciel et de la terre, 1915),Depuis, enferm&eacute; dans une chambre &agrave; vide.D&eacute;filement &agrave; m&eacute;ridien, echarpe burberry homme de personnes ou de plus d'un millier de personnes, &eacute;galement appel&eacute; "manteau".
    Ne chante pl어어

  15. BlogIcon trench burberry homme pas cher 2015.03.31 00:03  수정/삭제  댓글쓰기

    일할La m&egrave;re de sauver l'Inde comme un &eacute;chec jusqu'&agrave; pr&eacute;sent, 11 heures (figure) - sohu News

    Source: Sohu.com mise &agrave; jour: 2015-03-29 04: 27 h 45: la nouvelle classification des mots - cl&eacute;s: m&egrave;re de l'&eacute;l&eacute,chaussure burberry homme pas cher;phant

    comme sauver l'&eacute;l&eacute;phant &eacute;chec jusqu'&agrave; pr&eacute;sent, 11 heures는가

  16. 匿名 2015.03.31 08:50  수정/삭제  댓글쓰기

    런마With every passing day internet shopping is becoming more and more popular. There are many reasons behind the massive popularity but convenience has emerged as one of biggest reason. Numerous websites are offering different kind of cell phones from some of the best companies like Nokia, Sony Ericsson, LG, Samsung, Motorola, HTC, Blackberry and Apple at cheap price. Online web portals offer the lat없던

  17. 匿名 2015.04.01 06:28  수정/삭제  댓글쓰기

    할간火车采集器html简单模板示范






    Alpinestars Tech Heated Vest Review







    [标签:来源]








    Alpinestars has noticed the popularity of heated motorcycle clothing and has made a heated vest of their own,E-Learning For Business - Which Training Method is, called the Tech Heated Vest. Heated vests are excellent if you live in the colder areas. When the temperature goes below 50 F you can'어들

  18. 匿名 2015.04.03 13:49  수정/삭제  댓글쓰기

    를이火车采集器html简单模板示范






    Viking Tent Trailers - See the World, and Bring Your TV With You







    [标签:来源]








    For those interested in hitting the road while bringing a slice of home with you,Innovative Ways to Transport , a tent trailer may your best bet.

    Prior to buying a tent trailer, ensure there is a hitch on it and your car's towing capacity can handle the weight. W하우

  19. 匿名 2015.04.03 17:37  수정/삭제  댓글쓰기

    메있Features



    You may choose to purchase either a new or used trailer. If you purchase a new toy hauler,Men's Wear Available On Discount Price In UK Men's Clothes S, keep an eye out for features and price. However,A Bit About Motorcycle Histor, if you purchase a used toy hauler, then be sure to take a look at the condition of the trailer. Look at the brakes, axles, and interior for an indication메는

  20. 匿名 2015.04.04 02:54  수정/삭제  댓글쓰기

    마일and even better news is that their greatest extent EVER!Beautiful flowers and fittings add a touch of tartan jackets that unmistakable feminine essence, while injections of red.



    Purple and orange make this the biggest ever range of colors.Barbour waxed jackets,Opening a Quilt Shop - Where , Barbour International Quilt Jacket, Jackets Barbour Polar Quilt .


    You should not need to pay a f네일

  21. 匿名 2015.04.09 00:24  수정/삭제  댓글쓰기

    크리and even better news is that their greatest extent EVER!Beautiful flowers and fittings add a touch of tartan jackets that unmistakable feminine essence, while injections of red.



    Purple and orange make this the biggest ever range of colors.Barbour waxed jackets, Barbour International Quilt Jacket, Jackets Barbour Polar Quilt .


    If you have never considered online Christmas shopping, you 어알

[XNA , Texture2D] Texture2D from Bitmap (very Simple)


Content.Load<T> 로 불러올수 있는것은 *.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 루프를 돌려 비트맵�� 컬러를 검출��여 xna 컬러배열에 넣는다.
            for (int y = 0; y < b.Height; ++y)
                for (int x = 0; x < b.Width; ++x)
                {
                    cColor c = b.GetPixel(x, y);
                    pixels[(y * b.Width) + x] = new xColor(c.R, c.G, c.B, c.A);
                }
            //texture2d를 생성��고 컬러를 적용한다.
            tx = new Texture2D(graphics.GraphicsDevice, b.Width, b.Height, 1, TextureUsage.None, SurfaceFormat.Color);
            tx.SetData<xColor>(pixels);


        }
실시간으로 캡춰가 될때 퍼포먼스는 아직 무리수
 
 
Yamecoder 야매코더_
XNA 2010. 12. 4. 02:28

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon 匿名 2014.08.19 14:25  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  3. BlogIcon 匿名 2014.08.19 14:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  4. BlogIcon 匿名 2014.08.19 14:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  5. BlogIcon coach outlet online 2014.08.23 16:11  수정/삭제  댓글쓰기

    겠알Ways to Recover Reduces inside Leather-based

    Leather-based is surely an pricey supplies then one is certainly careful in addition to cautious about sustaining a well known leather-based layer as well as extra ensemble through unintended damage. Nevertheless, from time to time, some form of damage can happen, no matter your better endeavours, in addition to this kind of conditions, it's importan뉴적

  6. BlogIcon 匿名 2014.08.25 12:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  7. BlogIcon 匿名 2014.08.25 12:27  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  8. BlogIcon 匿名 2014.08.25 12:28  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  9. BlogIcon 匿名 2014.09.11 12:19  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  10. BlogIcon 匿名 2014.09.28 14:38  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  11. BlogIcon cheap oakley sunglasses 2014.10.10 23:26  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  12. 匿名 2014.11.10 17:32  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. BlogIcon moncler azienda italiana o francese 2014.11.12 11:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  14. BlogIcon chaussure louboutin a vendre 2014.11.15 11:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  15. BlogIcon moncler vest men 2014.11.28 22:31  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  16. 匿名 2014.12.03 05:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  17. 匿名 2015.01.07 17:45  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  18. 匿名 2015.01.19 10:54  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  19. BlogIcon tee shirt burberry pas cher 2015.03.31 00:03  수정/삭제  댓글쓰기

    법려Refus&eacute,sacs burberry;
    de suppression, Il est peut - tre d&eacute;j&agrave; conduit &agrave; l'emprisonnement de l'Italie sollecito de poursuites.J'ai de la chance. je vous.Il a dit apr&egrave;s une interview: "entendu le discours du Pr&eacute;sident d'apprentissage est tr&egrave;s excit&eacute;.Une transaction globale comprend de l'annexe technique devrait tre en fin le 30 juin.Arriv&eac뉴분

  20. 匿名 2015.04.04 02:55  수정/삭제  댓글쓰기

    일데火车采集器html简单模板示范






    It's One Thing for People to Buy Your Product or Service, but It's Another for Them to Tattoo Your







    [标签:来源]








    William Harley and Arthur Davidson, both in their early twenties, built their first motorcycle in 1903. During their first year, the company's entire output was only 1 motorbike; however, by 1910, the company had sold 3,200. Movies 버우

  21. 匿名 2015.04.05 10:19  수정/삭제  댓글쓰기

    서런火车采集器html简单模板示范






    Speech Handout Material Considerations







    [标签:来源]








    For those of us that are constantly giving speeches to college students or groups of people,Why Online DJ Equipment Shops, it is imperative that they connect with us. The Xers seem to like people that are driven to change the world, make a difference, pave the way, clean the environment or a일들

[C# XNA][texture2D.Setdata] XNA에서 픽셀을 하나하나 다루어 보자.

xna의 API 가 익숙하지 않았던때, 픽셀을 다루기 위해 C#의 기본 GDI를 이용해여
마샬링 하여 텍스쳐에 붙였다.

그런데,. 반전이.. zune hd 에서 사용할수 있는 네임스페이스가 극히 제한적이라..
Bitmap은 가져 오지 못한다.

그래서 텍스쳐하나당 한픽셀을 그려야 된다고 생각하자 말도안되는 리소스 낭비이다.
텍스쳐2D 와 Draw메소드를 엄청나게 사용해야되서, 도저히 용납할수 없는 코딩이 될것이다.


고민끝에,  ,.XNA짱인,.  곰동님에게 긴급 질문했다. 그리고 친절히 답해 주셨다.
http://blog.naver.com/fly33499  )



위의 그림처럼 하나의 Texture2D에 여러개의 setData를 이용해 픽셀들을 다룰수 있다.

드디어 2D 비트맵을 다룰수 있게 되었다 마치 bitmapData의 setPixel 처럼 자유롭다.

기본적인 사용법은 이러하다.

주석 위주로 보면 됨


Created with colorer-take5 library. Type 'csharp'

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace WindowsGame9
{
    public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        SpriteBatch spriteBatch;
        Texture2D tx;
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
            graphics.PreferredBackBufferWidth = 272;
            graphics.PreferredBackBufferHeight = 480;
        }

        protected override void Initialize() { base.Initialize(); }
                
        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);
            tx = new Texture2D(GraphicsDevice, graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight);

            //픽셀����그리기 (레벨 , 위��(x좌표,y좌표,1,1), 컬러값  ~ )
            tx.SetData<Color>(0, new Rectangle(0, 0, 1, 1),new Color[]{Color.Black} ,0, 1, SetDataOptions.None);
            

            //응용! 면적 체우기 

            //화려한?컬러값을 위해 랜덤 함�� ��출
            Random r = new Random();
            Color c;

            //가로크기
            for (int i = 0; i < graphics.PreferredBackBufferWidth; ++i)
            {
                //세로크기
                for (int j = 0; j < graphics.PreferredBackBufferHeight; ++j)
                {
                    //랜덤 컬러
                    c = new Color(new Vector3(r.Next(i), r.Next(j), r.Next(3)));
                    //픽셀만들기 , 총 272 * 280 개 만큼 그린다.
                    tx.SetData<Color>(0, new Rectangle(i, j, 1, 1), new Color[]{ c } , 0, 1, SetDataOptions.None);
                }
            }
        }

        protected override void UnloadContent(){  }

        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();
            base.Update(gameTime);
        }

        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);
            
            //시작��고 그리고 끝내고 는 기본.
            spriteBatch.Begin();
            spriteBatch.Draw(tx, new Vector2(0, 0), Color.White);
            spriteBatch.End();

            base.Draw(gameTime);
        }
    }
}

아직 깊게 봐야 할것이 많이 있지만, 우선 요것 가지고 쉽게 사용할수있도록
AS3 스타일로 클래스를 랩핑하면 매우 유용할듯하다.

원하는대로 Circle 이라던지 Line 이라던지 이제 루프만 잘 돌리면 된다.

다시한번 곰동님께 감사입니다~

※ zune hd의 해상도가 272 * 480 이라서 이러한 크기에서 테스트중..
 
Yamecoder 야매코더_
XNA 2010. 12. 4. 00:08

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon oakley vault 2014.01.23 01:38  수정/삭제  댓글쓰기

    단다"It's certainly delightful, " Olson believed. "It's type of discolored together with loads of hearth as well as beauty to barefoot jogging. Your sweetheart is convinced its very magnificent. "It says fantastic not to mention may advance your own spirits, " shows Dassanayake, your local in Sri Lanka together with a 20-year Kia frequent along with a PhD for energy technological innovation. "Lighting를버

  3. BlogIcon ralph lauren 2014.01.23 04:13  수정/삭제  댓글쓰기

    에로As a result tone modification, clinical doctors are generally struggling to perform a particular in-office urinalysis. The conventional urine test out for just a UTI necessitates determining large regarding urine, which in turn is not to be accomplished any time Azo differences the nation's colouring. beats headphones This is why, various industry professionals would suggest storing away chanel ou고할

  4. BlogIcon hogan outlet 2014.01.23 04:48  수정/삭제  댓글쓰기

    다를4. Take care of these rodents: Without an important feline, not many light beer put in any suitable container might help handle the sensitive mouse trouble, particularly when you would like to trap killing of mice within the gentle trend. Only decide to put a particular in much longer than that for draught beer inside suitable container, chanel outlet put some sort of ramp, possibly section of woo메가

  5. BlogIcon louis vuitton bags 2014.01.23 05:27  수정/삭제  댓글쓰기

    있들Typically the palate develop is about the far better kinds right from Viz on modern memory space oakley standard issue considering that it employs all the hindering routines from your cracking hogan sito ufficiale open routine for you to emphasize views out of your reveal. Held on to for an most of dark colored record, this looks slip around and even over in conjunction with traces regarding color우가

  6. BlogIcon hogan sito ufficiale 2014.01.23 06:32  수정/삭제  댓글쓰기

    료및And the second probability tory burch handbags is actually this genetically one will not currently have substantial titties. Offered ones own profile I believe this can be not as likely. The application looks as you have obtained malfunction from breast area creation. The rear mont blanc insure possesses a good sized picture regarding Rika ever again appearing scheduled separate through the tentac가비

  7. BlogIcon louis vuitton 2014.01.23 06:38  수정/삭제  댓글쓰기

    부드You may possibly not locate what exactly you're looking for whilst searching for unique décor or maybe household furniture reside have strategy in your thoughts you need to have a very particular color choice not to mention trend. Locate anything pleasing that could be a hue from, this would be the best accessory. Rather, you could possibly consistently retrieve a your parajumpers outlet furniture있리

  8. BlogIcon Canada Goose coats 2014.01.23 06:38  수정/삭제  댓글쓰기

    법어Nonetheless you possibly can gain by Roulette with the help of accurate prepare. The truth is, together with the advancement from web based casino casinos of which aspect the video game for Roulette it's these days also attainable so that you can TRIUMPH dollars from their store. Herein Most definitely i'll detail the last word technique for whipping via the internet Roulette mmorpgs.

    Albert Mu에려

  9. BlogIcon rimowa salsa 2014.03.27 05:05  수정/삭제  댓글쓰기

    적뉴1990年以来、米国での結婚式の平均価格はほぼ倍増している。 スーツケース ビジネス-リモワスーツケース 2008年には、結婚式のための値札は[:クリスチャン·サイエンス·モニターソース] ハワイ リモワ ピンク 28000ドルに達した。 rimowa 中古-rimowa classic これは婚約指輪のウェディングドレスや新婚旅行のすべてが含まれています。

    ルイジアナ州では、認定の2種類が小学校教師のための利用可能です。受信者は三年生に事前幼稚園を教えることを可能にする幼児の指定、およびグレード1から5のための基本的な呼称。 リモワ 公式サイト 2009の時点で、27,000人以上の人がルイジアナ州の労働委員会によると、認定の2種類に基づき、第1〜第5年生まで教えて、状態の初等教育の分野で働いていた。

    メンズスーツ 激安 通販-スーツケース1つ アメリカ人はいつも遠く好みの간서

  10. BlogIcon http://www.monocibec.it/japan/6127.html 2014.03.28 08:04  수정/삭제  댓글쓰기

    리우ワシントンで放棄された金鉱山を検索する方法

    土地管理局は、​​障害のない酸鉱山排水から水を保護するために、再利用のために放棄された鉱山現場の在庫を保持し、野生動物や国民を守るために。 放棄された鉱山はなく特定できる所有者や事業者が施設を存在しないサイトとして定義されている、または施設が戻って連邦政府所有に戻ってきた。 BLMに記載されているすべての廃坑は、おそらく連邦または州が所有する土地である。 ワシントンで放棄された金鉱山を見つけるために検索するためのいくつかのデータベースがあります。

    放棄されたサイトが存在すると考えられている郡のレコードを窓口で相互参照するすべての情報。 鉱区は、過去に特許を取得されていた場合は、請求に関連する土地の所有権は、政府からの請求者に渡され、その後、郡の役人が記録していただろう。 最後のステップは、放棄されたように、現在、インベント겠리

  11. BlogIcon オークリー 自転車用 サングラス 2014.04.26 03:50  수정/삭제  댓글쓰기

    마메このような御社の会社であることに興奮している、シーハンはニュースを受け取った後、すぐに言った。 p オークリー サングラス クリア ど トップジャーナリズムの名誉の両方大きくて小さな報道機関とみなしていることを知っていることは本当に特別なものです。 p オークリー メガネ 愛知 む-オークリー ファストジャケット 写真 私たちは、日メディアでサポートされている環境で動作することができて幸運です、それは私たちがそのようなこの1のような物語を追求することができます。

    世界中の最高の観光地の一つであること、プーケットはタイの島の行先である。 オークリー warm up 偏光 あなたが日常生活の退屈な群衆から逃げるのに最適な休暇を探している場合は、プーケットパッケージツアーを予約して自分自身に若返りの休憩を与える必要があります。 東日本株式会社 オークリー 偽物 ビーチでの散歩を話し、地平線할립

  12. BlogIcon 匿名 2014.09.26 23:47  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. BlogIcon Moncler Pantalon Femme 2014.10.17 17:49  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  14. BlogIcon Moncler Pull Homme 2014.10.18 00:33  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  15. BlogIcon Moncler écharpe & Chapeaux 2014.10.18 00:35  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  16. BlogIcon Moncler Sacs 2014.10.18 00:36  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  17. BlogIcon Moncler Enfant Doudoune sans manches 2014.10.18 00:49  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  18. BlogIcon Moncler Automne Homme 2014.10.18 00:57  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  19. BlogIcon Moncler Pull Homme 2014.10.18 01:04  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  20. BlogIcon Louboutin Talon Compense 2014.10.18 01:10  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  21. BlogIcon discount formal bridesmaid gown 2014.11.12 13:15  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

Powerd by Tistory, designed by criuce
rss