![]() | 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¹ø À̹ÌÁö¸¦ Ç¥½ÃÇÕ´Ï´Ù.
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |