WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
Table of contents


¸Þ¸ð¸®µð¹ÙÀ̽º¸¦ »ç¿ëÇÑ À̹ÌÁöÀÇ ÀÛ¼º°ú Ç¥½Ã



¸Þ¸ð¸®µð¹ÙÀ̽ºÀÇ ÀÛ¼º°ú Ç¥½Ã

¸Þ¸ð¸®µð¹ÙÀ̽º¸¦ »ç¿ëÇϸé À̹ÌÁö È­»ó¿¡ Á÷Á¢ Á¶ÀÛÀ» ÇÒ¼ö°¡ÀÖ½À´Ï´Ù.


  • ¸Þ¸ð¸®µð¹ÙÀ̽º¿¡·ÎÀÇ µµÇüÀÇ ¹¦È­

  • ¸Þ¸ð¸®µð¹ÙÀ̽º¿¡·ÎÀÇ À̹ÌÁö È­»óÀÇ ¹¦È­

  • ¸Þ¸ð¸®µð¹ÙÀ̽ºÀÇ Á÷Á¢ ÂüÁ¶¿Í Á÷Á¢ Á¶ÀÛ

  • ¸Þ¸ð¸®µð¹ÙÀ̽ºÀÇ À©µµ¿ì¿¡·ÎÀÇ Ç¥½Ã
  • ws/sampes/share/memdev/newproject.prj ¿¡¼­ Á¦°øµÇ¿©ÀÖ´Â »ùÇÃÀ» ¿¹·Î ¸Þ¸ð¸®µð¹ÙÀ̽ºÀÇ »ç¿ë¹ýÀ» º¸¾Æº¾½Ã´Ù. ÀÌ »ùÇÃÀº ´ÜÃ߸¦ ´©¸£¸é 001.jpg ¶ó´Â À̹ÌÁö È­»óÀ» Àоî³õ°í Á¡Á¡ ¶°¿À¸£µµ·Ï ¹¦È­ÇÕ´Ï´Ù.







    [Á¡Á¡ ¶°¿À¸£´Â À̹ÌÁö È­»óÀÇ Ç¥½Ã]

    ÀÌ »ùÇÃÀÇ Ã³¸®°³¿ä´Â ´ÙÀ½°ú °°½À´Ï´Ù.


  • ¸Þ¸ð¸®µð¹ÙÀ̽º¸¦ 2°³ ÀÛ¼º

  • ¸Þ¸ð¸®µð¹ÙÀ̽º1¿¡ 001.jpg ¸¦ ¹¦È­

  • 1. ¸Þ¸ð¸®µð¹ÙÀ̽º2¿¡ ¸Þ¸ð¸®µð¹ÙÀ̽º¿¡¼­ ÈÖµµ¸¦ º¯Çؼ­ Àü¼Û

  • 2. ¸Þ¸ð¸®µð¹ÙÀ̽º2ÀÇ ³»¿ëÀ» À©µµ¿ì¿¡ Àü¼Û

  • ÈÖµµ¸¦ ¿Ã¸®¸é¼­ 1,2À» µÇǪ¸®ÇÑ´Ù
  • #include <WScom.h>
    #include <WSCfunctionList.h>
    #include <WSCbase.h>
    //----------------------------------------------------------
    //Function for the event procedure
    //----------------------------------------------------------
    #include <WSDappDev.h>
    #include <WSCcolorSet.h>
    #include <WSCimageSet.h>
    #include <WSCmainWindow.h>
    extern WSCmainWindow* newwin000;
    
    #include <WSDmwindowDev.h>
    WSDmwindowDev* mdev = NULL;
    WSDmwindowDev* mdev2 = NULL;
    
    void btnep(WSCbase* object){
      WSDdev* dev = newwin000->getdev(); //A
    
      if (mdev == NULL){ //B
        mdev = WSDmwindowDev::getNewInstance();
        mdev2 = WSDmwindowDev::getNewInstance();
      }
    
      mdev->createPixmap(200,200); //C
      mdev->beginDraw(0,0,200,200);  //D
      WSDimage* image = WSGIappImageSet()->getImage("001.jpg"); //E
      mdev->drawStretchedImage(0,0,200,200,image); //F
      mdev->endDraw(); //G
    
      mdev2->createPixmap(200,200);  //H
    
      mdev->initBuffer();           //I
      mdev2->initBuffer();          //J
    
      long i,x,y;
      for(i=0;i<100; i++){
        for(x=0; x<200; x++){
          for(y=0; y<200; y++){
            WSCuchar r,g,b;
            mdev->getBufferRGB(x,y,&r,&g,&b); //K
            r = (WSCushort)((double)(r*i)/100); //L
            g = (WSCushort)((double)(g*i)/100); //L
            b = (WSCushort)((double)(b*i)/100); //L
            mdev2->setBufferRGB(x,y,r,g,b);     //M
          }
        }
        mdev2->putBufferToPixmap();  //N
        mdev2->copyToWindow(dev,0,0,200,200,0,0); //P
      }
    }
    static WSCfunctionRegister  op("btnep",(void*)btnep);
    

    A ¿¡¼­ ¹¦È­ÇÒ À©µµ¿ìÀÇ µð¹ÙÀ̽º¸¦ ÃëµæÇÕ´Ï´Ù.

    B ¿¡¼­´Â óÀ½¿¡ ´ÜÃß°¡ ´­¸®¿î °æ¿ì¿¡ ¸Þ¸ð¸®µð¹ÙÀ̽º¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ¸Þ¸ð¸®µð¹ÙÀ̽º´Â new ¿¬»êÀÚ¿¡¼­ÀÇ ÀÛ¼ºÀº ¸øÇÕ´Ï´Ù. ¸Þ¸ð¸®µð¹ÙÀ̽º´Â À©µµ¿ì ½Ã½ºÅÛ¿¡ À§Á¸ÇÔÀ¸·Î getNewInstance ¸Þ¼­µå°¡ À©µµ¿ì ½Ã½ºÅÛ ¿¡ ÀûÇÕÇÑ ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

    ´ÙÀ½¿¡ ¸Þ¸ð¸®µð¹ÙÀ̽º1¿¡´Â À̹ÌÁöÈ­»ó 001.jpg ÀÇ ¹¦È­ÀÔ´Ï´Ù. ¸Þ¸ð¸®µð¹ÙÀ̽º¿¡ ¹¦È­¸¦ ÇϱâÀü¿¡ C ¿Í °°ÀÌ createPixmap ¸Þ¼­µå·Î ¸Þ¸ð¸®µð¹ÙÀ̽ºÀÇ Å©±â¸¦ ÁöÁ¤Çؼ­ ÃʱâÈ­¸¦ ÇÕ´Ï´Ù.

    ´ÙÀ½¿¡ ¸Þ¸ð¸®µð¹ÙÀ̽º¿¡ ¹¦È­ÇÕ´Ï´Ù. ¹¦È­¸¦ ÇÒ °æ¿ì´Â ¸ÕÀú D ¿Í °°ÀÌ beginDraw() ¸Þ¼­µå¸¦ ºÎ¸¨´Ï´Ù. E ¿¡¼­ À̹ÌÁö °ü¸® Àü¿ª ÀνºÅϽº¿¡¼­ À̹ÌÁö¸¦ ÃëµæÇÕ´Ï´Ù. F ¿¡¼­´Â ÃëµæÇÑ À̹ÌÁö¸¦ Ç¥½ÃÇÏ°íÀÖ½À´Ï´Ù. ¹¦È­°¡ ³¡³ª¸é endDraw() ¸Þ¼­µå¸¦ ºÎ¸¨´Ï´Ù.

    H ¿¡¼­ ¸Þ¸ð¸®µð¹ÙÀ̽º2µµ ÃʱâÈ­Çسõ½À´Ï´Ù. I,J ·Î Á÷Á¢ Á¶ÀÛÀ»À§ÇÑ ¹öÆÛ¸¦ ÃʱâÈ­ÇÕ´Ï´Ù. ÀÌ ¶§ ³»ºÎÀÇ À̹ÌÁöÀÇ µ¥ÀÌÅÍ°¡ ¹öÆÛ¿¡ Àü¼ÛµË´Ï´Ù. K ¿¡¼­ ¸Þ¸ð¸®µð¹ÙÀ̽º1ÀÇ RGB°ªÀ» ÃëµæÇÕ´Ï´Ù. L ¿¡¼­ ÃëµæÇÑ RGB°ªÀÇ ÈÖµµ¸¦ Á¶ÀýÇÏ¿© M ¿¡¼­ ¸Þ¸ð¸®µð¹ÙÀ̽º1¿¡ ¼ÂÇÕ´Ï´Ù.

    N ¿¡¼­´Â ¹öÆÛ¿¡ ¼³Á¤µÈ ³»¿ëÀ» ³»ºÎÀÇ À̹ÌÁö¿¡ ´Ù½Ã Àü¼ÛÇؼ­ ¹Ý¿µÇÕ´Ï´Ù. P ·Î ¹Ý¿µÇÑ À̹ÌÁö µ¥ÀÌÅ͸¦ À©µµ¿ì¿¡ Àü¼ÛÇؼ­ Ç¥½ÃÇÏ°íÀÖ½À´Ï´Ù. 100´Ü°èÀÇ ÈÖµµ°è»êÀÇ ·çÇÁ¸¦ ½ÇÇàÇÏ°í ÈÖµµ¸¦ ¿Ã·Á³õ°í 100¹ø À̹ÌÁö¸¦ Ç¥½ÃÇÕ´Ï´Ù.

    Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


    WideStudio/MWT documents index | Table of contents

    Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005