Åê¹ÆÆü¡§2012-05-17 Thu
¤¿¤Þ¤Ë¤Ï¹¹¿·¤·¤Æ¤ß¤ë¤«¡¢¤È¤¤¤¦¤³¤È¤Ç¡¢¤´¤½¤´¤½¤Ã¤È¹¹¿·¡£¡ä¡ä¤ª°ú±Û¤·¤·¤Þ¤·¤¿(ÃÙ
£³·î¤Ë¤ª°ú±Û¤·¤·¤Þ¤·¤Æ¡¢2DK(£¶¾ö¡ß£²¡Ü£±£°¾ö¤¯¤é¤¤¤Î¥¥Ã¥Á¥ó¡¢É÷Ϥ¡¢¥È¥¤¥ì)¤«¤é
1K(£¸¾ö¥Õ¥í¡¼¥ê¥ó¥°¡Ü3.8¾ö¤Î¥¥Ã¥Á¥ó¡¢É÷Ϥ¥È¥¤¥ìÊÌ)¤Ë¤ª°ú±Û¤·¡£
¿¦¾ì¤¬¸¼´Ø³«¤±¤ë¤È¸«¤¨¤ë¤È¤¤¤¦¤Û¤É¶áµ÷Î¥¤Ç¡¢Ä̶лþ´ÖÅÌÊ⣳ʬ¡£
°ú±Û¤·Á°¤Ï£¶¡§£³£°¤Ë²È¤ò½Ð¤Æ±Ø¤ÇÄ«Èӡܥ⡼¥Ë¥ó¥°¥³¡¼¥Ò¡¼¡¢¤½¤Î¸å½Ð¶Ð¤À¤Ã¤¿¤ó
¤À¤±¤É¡¢¸½ºß¤Ï£¸¡§£³£°°Ì¤Ë½Ð¤Æ½Ð¶Ð¡¢¤Ç¤¹¡£
¶á¤¤¤È¤¤¤¤¤è¤Í¡£Äê»þ¸å²È¤Ëµ¢¤Ã¤Æ¤¯¤ë¤È£±£¸»þÁ°¤Ë¤ÏͼÈӤΤ´ÈӤοæÈÓ´ï¤ÎSW¤ò
ON¤·¤Æ¡¢¤Þ¤Ã¤¿¤ê¥â¡¼¥ÉͼÊýÈÇ¤ËÆÍÆþ¡£³Ú¤À¤ï¡¼¡£
¡ä¡ä¼«¿æ¤·¤Æ¤ó¤Ç¤¹¤è¡¢ÃëÈÓ¤âºî¤Ã¤Æ¡£
°ú¤Ã±Û¤·¤Æ¤«¤é¡¢¼«¿æ¤·¤Æ¤ó¤Ç¤¹¤è¡£
¤½¤ì¤Þ¤Ç³°¿©¤À¤é¤±¤À¤Ã¤¿¤ó¤À¤±¤É¡¢¼«¿æ¤ò½é¤á¤¿¤ª±¢¤Ç¡¢»þ´Ö¤Ï¤«¤«¤ë¤±¤É¡¢¤Ê¤ó¤«³Ú¤À¤·¡¢
»þ´Ö¤¬Í±×¤Ë»È¤¨¤Þ¤¹¤Ê¤¡¡£Ãíʸ¤·¤ÆÂԤäƤë¤è¤ê¡¢ÎÁÍý¤·¤Æ»þ´Ö·Ð¤Ä¤Û¤¦¤¬Í±×¤Ë´¶¤¸¤ëÉԻ׵ġ£
¤Þ¤¡¡¢ºî¤ì¤Ð¤¹¤°¿©¤¨¤ë¤«¤é¤Í¤§£÷
¼«¿æ¤â°Õ³°¤ÈÌÌÇò¤¯¤Æ¡¢Ì¤¤À¤Ë³¤¤¤Æ¤Ï¤¤¤Þ¤¹¡£ËèÆü¾ÃÈñ´ü¸Â¤ÈÀï¤Ã¤Æ¤¤¤Þ¤¹¤±¤É¤Í¡£
Ä«ÈÓºî¤ë¤Ä¤¤¤Ç¤ËÃëÈÓ¤âºî¤Ã¤Æ¡¢ÊÛÅö»ý»²¤Ç¤¹¡£Ä«ÈÓ¡áÃëÈӤˤʤë¤Î¤Ï¤·¤ç¡¼¤¬¤Ê¤¤www
¤è¤¯ºî¤ë¤Î¤Ï¡¢ßÖ¤áʪ¤È¤·¤Æ¤ÏÆù¥¥ã¥Ù¥Äß֤ᡢ¤â¤ä¤·ß֤ᡢ¥Ô¡¼¥Þ¥óÌ£Á¹ßÖ¤áÅù¤ÎÌîºÚßÖ¤á¤ÎÎà¡£
±ö¥³¥·¥ç¥¦¤ò¿¤á¤ËÆþ¤ì¤Æ¡¢¾¯Î̤Τª¤«¤º¤Ç¤´ÈÓ¤ò¿©¤¨¤ëÍͤˤ·¤Æ¤¤¤Þ¤¹¡£
¥¥ã¥Ù¥Ä1/4¡Á1/2¤«¡¢¤â¤ä¤·1ÂÞ¤ËÂФ·¤Æ¡¢ÂçÂαö¥³¥·¥ç¥¦Â礵¤¸£±ÄøÅÙ¡£»ß¤á¤Ë¾¯Î̤ξßÌý¤«¤Ê¡£
¾¯Î̤ȸÀ¤¤¤Ä¤Ä¡¢¤Ê¤ó¤«Â礵¤¸£±°Ì¤ÏÆþ¤ì¤Æ¤ëµ¤¤¬¤¹¤ë¡£
¤Þ¤¡¡¢¤â¤ä¤·¤ò1Â޻Ȥ¤ÀÚ¤ë¤Î¤ÏÂçÊѤʤó¤Ç¤¹¤±¤É¤Í¤§¡£·ë¹½Î̤¬¤¢¤ë¡£¤Ç¤â·ë¹½¿©¤¨¤ë¤«¤éÆæ¤À¡£
¸µ¡¹¡¢¤â¤ä¤·ßÖ¤á¤ò¿©¤¤¤¿¤¯¤Ê¤Ã¤Æ¼«¿æ»Ï¤á¤¿¤È¤¤¤¦´¶¤¸¤Ç¤Ï¤¢¤ë¤ó¤Ç¤¹¤è¡£Íýͳ¤¬¤¢¤ì¤Ê¤ó¤Ç¤¹¤¬¡£
ºÇ½é¤Ï¥·¥ã¥¥·¥ã¥´¶¤Î¤¢¤ëßÖ¤á¤òºî¤ì¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ºÇ¶á¤·¤Ê¤·¤Ê¡Á¤Ã¤È¤Ê¤Ã¤Æ¤¤¤Æ¡¢ßÖ¤á²á¤®¤Ê
ÍͻҤÀ¤Ã¤¿¤Î¤Ç¥·¥ã¥¥·¥ã¥´¶¤òÌ᤹¤Ù¤¯¡¢»î¹Ôºø¸í¡£²Ð¤òÄ̤·¤ÆÂ¨¸ú(1Ê¬ÄøÅÙ¡©)¤ÇÌ£ÉÕ¤±³«»Ï¤¹¤ë¤È
¤¤¤¤´¶¤¸¤Ë¤Ê¤ë¤Î¤¬È½¤Ã¤¿¡£¤â¤ä¤·¼«ÂÎ¤ÏÆü»ý¤Á¤·¤Ê¤¤¤Î¤Ç¡¢¼Â¤Ï¤½¤ó¤Ê¤ËÉÑÈˤ˺î¤ì¤Ê¤¤¤ó¤Ç¤¹¤±¤É¤Í¡£
Çã½Ð¤·¤ò£²Æü¤Ë£±Å٤Ǥä¤Ã¤Æ¤Þ¤¹¡£Î䢸˾®¤µ¤¤¤Î¤Ç¡¢¤³¤ì°Ê¾åÇ㤦¤ÈÆþ¤é¤Ê¤¤www
¢¨¿©ÈñŪ¤ÊÌܰ¤ϡ¢£²Æü¤Ç1200±ßÁ°¸å¡£Â¾¤ËÄ´Ì£ÎÁ¤ä¤é¤ªÊƤ⤢¤ë¤Î¤Ç¡¢ÂçÂηËüÁ°¸å¤Ç·×»»¡£
¤¢¤È¤Ï¡¢ÄÒʪ¤ÎÂå¤ï¤ê¤Ë¡¢¤¤å¤¦¤ê£µ£í£íÉý¤Ë¼Ð¤á¤ËÀڤäơ¢¥¥à¥Á¤ÎÁÇÂ礵¤¸£±¡©ÄøÅÙ¡ÜÌ£¤ÎÁÇ
¾®¤µ¤¸£±¡Á£²¡¢¾ßÌýÂ礵¤¸Â¿Ê¬£²¡Á£´¡£¤½¤ì¤ò¥Ü¡¼¥ë¤ËÆþ¤ì¤Æ¼ê¤Ç¤Þ¤¼¤ë¡£
(¼«Ê¬¤Ç¿©¤¦ÅÛ¤À¤«¤é¼ê¤Ç¤Þ¤¼¤Á¤ã¤¦¡£¤½¤Î¤Û¤¦¤¬Áᤤ)
ÃëÈÓ¤ÎÊÛÅö¤ËÆþ¤ì¤ë¾ì¹ç¤Ï¡¢Ä«ÈÓ¡ÜÊÛÅö¤Ê¤Î¤Ç¤¤å¤¦¤ê£²ËܻȤ¤¤Þ¤¹¡£1¿©¤¢¤¿¤ê£±ËܤǤ¹¤«¤Í¡£
Â礤µ¤Ïɸ½àŪ¤Ê¤ä¤Ä¡£¤Þ¤ì¤ËÂÀ¤¤¤¤å¤¦¤ê¤È¤«¼ê¤ËÆþ¤Ã¤¿¤ê¤¹¤ë¤Î¤Ç¤¹¤¬¡¢¤½¤Î¾ì¹ç¤½¤³¤½¤³¤Î
Î̤ˤʤë¤Î¤Ç¡¢ßÖ¤áʪ¤È¤«¤½¤Ã¤Á¤ÎÎ̤ò¸º¤é¤¹´¶¤¸¤Ç¤¹¤«¤Í¡£
¾¤Ë¤Ï¡¢¥Ô¡¼¥Þ¥ó¤ÎÌ£Á¹¤¤¤¿¤á¤ä¡¢¾Æ¤¥Ê¥¹¤â¹¥¤¤Ç¤¹¤è¡£¤¦¤Þ¤¦¤Þ¡£
¥Ô¡¼¥Þ¥ó¤ÎÌ£Á¹¤¤¤¿¤á¤Ï¡¢¥¤¥ó¥¹¥¿¥ó¥ÈÌ£Á¹½Á¤ÎÌ£Á¹¤ò»È¤Ã¤Æºî¤ê¤Þ¤¹¡£¤³¤ì¤À¤È²¼¼ê¤ËÌ£ÉÕ¤±
¤ËǺ¤Þ¤Ê¤¯¤Æ¤¤¤¤¤Î¤Ç¤¹¡£¥Ô¡¼¥Þ¥ó£´¸Ä°Ì¤ò¼ï¤òÈ´¤¤¤Æ¡¢½Ä¤ËÀéÀڤꡩ¤Ë¤·¤¿¸å¡¢·Ú¤¯ßÖ¤á¤Æ¤«¤é
¥¤¥ó¥¹¥¿¥ó¥ÈÌ£Á¹½Á¤ÎÌ£Á¹¤ò1/3ÂÞÄøÅÙÆþ¤ì¤Æ¡¢¥é¥¹¥È¤Ë¾ßÌýÂ礵¤¸£°¡¥£µ¡Á£±ÄøÅÙ¡£¤³¤ì¤Ç¤ª¤¤¤·¤¤¡£
¥Ô¡¼¥Þ¥ó¤¬¤·¤Ê¤¡¡Á¤Ã¤È¤¹¤ëÄøÅÙ¤Þ¤ÇßÖ¤á¤ë¤È¡¢¤¤¤¤Ì£¤·¤Þ¤¹¤¼¡£
ÌîºÚßÖ¤á°Ê³°¤Ë¤Ï¡¢¥Õ¥é¥¤¥Ñ¥ó¤Çºú¤ò¾Æ¤¤¤Æ¤ë°Ì¤«¤Ê¡£¹¥¤¤Ê¤ó¤Ç¤¹¤è¡¢±öºú¡£¤¦¤á¤§¡£
ÊÛÅö¤ËÆþ¤ì¤ë¾ì¹ç¤Ï¡¢ºú¡ÜßÖ¤áʪ¡Ü¾å¤Î¤¤å¤¦¤êϤ¨¤È¤«¡£ßÖ¤áʪ¤òºî¤Ã¤Æ¤ë²Ë¤Ê¤«¤Ã¤¿¤ê¤¹¤ë¤È¡¢
¼êÈ´¤¤ÇÍñ¾Æ¤¤À¤Ã¤¿¤ê¤·¤Þ¤¹¤¬¡£
¤½¤¦¤½¤¦¡¢¤¿¤Þ¡¼¤Ë¤Ç¤¹¤±¤É¡¢ËüǽǬ¤òßÖ¤á¤Æ¤Þ¤¹¤Í¡£
Ǭ¤ÎÇò¤¤¤Û¤¦¤ò£µ£ã£í°Ì¤ËÀڤäƤ«¤é½Ä¤Ë½½»ú¤ËÀڤ뤫¡¢¼Ð¤á¤ËÀڤ뤫¤·¤Æ¡¢¤³¤ì¤òßÖ¤á¤ë¡£
±ö¥³¥·¥ç¥¦Â礵¤¸È¾Ê¬ÄøÅÙ¤ÇÌ£¤Ä¤±¡£°Õ³°¤È¿©¤¨¤ë¤â¤Î¤À¤Ê¡¢¤³¤ì¡£¤ª¤¤¤·¤¤¡£Â¿¾¯¾Ç¤¬¤¹´¶¤¸¤Ë¤¹¤ë¤È
¤¤¤¤É÷Ì£¤¬½Ð¤Þ¤¹¡£
¼«¿æ¤·¤Æ¤ï¤«¤Ã¤¿¤³¤È¤¬¡¢£±¿©¤¢¤¿¤ê¤Î¤´¤Ï¤ó¾ÃÈñÎ̤ϣ±¹ç¡¢ÊÆÂÞ5kg¤À¤È·îÈ¾Ê¬ÄøÅÙ¤·¤«»ý¤¿¤Ê¤¤¡£
°Õ³°¤È¿©¤Ã¤Æ¤ë¤Ê¤¡¤È´Ø¿´¤¹¤ë¤Í¡£¤Þ¤¡¡¢ÀΤ«¤é¤è¤¯¿©¤Ù¤ëÊý¤Ç¤Ï¤¢¤ë¤Î¤Ç¤¹¤¬¡£
¤Ê¤ª¡¢10kg¤À¤È°ì·î¼å¤Ê¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤À¤±»È¤¦¤È¤·¤±¤Ã¤Æ¤·¤Þ¤¤¤½¤¦¤Ê¤Î¤Ç¡¢5kg¡ß2¤¬°ì·îʬ¤Ç¤¹¡£
º£¤Î¤È¤³¤í¡¢ºî¤ì¤ë¥á¥Ë¥å¡¼¤¬¾¯¤Ê¤¤¤Î¤Ç¡¢º£¸å¤â¤¦¤Á¤ç¤¤Áý¤ä¤·¤¿¤¤½ê¤Ç¤Ï¤¢¤ë¤ó¤Ç¤¹¤è¡£ÊÛÅö¤â
¤â¤¦¤Á¤ç¤¤¿§ºÌ¤ò¤è¤¯¤·¤¿¤¤´¶¤¸¤Ç¤â¤¢¤ë¤·¡£
»È¤Ã¤¿¤³¤È¤Î̵¤¤ÌîºÚ¤ÇÎÁÍý¤¬É⤫¤Ö¤È¡¢¹ØÆþ¤·¤¿¸å¤Ë¤¦¤¤¦¤¤·¤Ê¤¬¤éµ¢Â𤷡¢½àÈ÷¤òÀ°¤¨¤Æ¤«¤é
ÎÁÍý³«»Ï¤Ç¤¹¡£¤Þ¤µ¤«¤³¤Îǯ¤Ë¤Ê¤Ã¤Æ¤³¤ó¤Ê´¶³Ð¤¬Ì£¤ï¤¨¤ë¤È¤Ï¤Ê¤¡¡¢¤È¼«Ê¬¤Ç¤â°Õ³°¤Êµ¤»ý¤Á¤Ë
¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡£ÎÁÍý¤ª¤â¤·¤ì¤§¡£
¤¢¤È¡¢¤É¤³¤¾¤Î¥ª¥ê¡¼¥Ö¥ª¥¤¥ë¤¸¤ã¤Ê¤¤¤ó¤Ç¤¹¤¬¡¢±ö¥³¥·¥ç¥¦¤ä¾ßÌý¤É¤Ð¡¼¡ª¤ÎÊʤòľ¤µ¤Ê¤¤¤È¡Ä¡£
·ë¹½Æþ¤ì¤¹¤®¤Æ¡¢¤·¤ç¤Ã¤Ú¡¼¡ª¤È¤«¡¢¤«¤ì¤§wwww¤È¤«¤¢¤ê¤¹¤®¤Æ¡£´ö¤éÅìḚ̈é¤Á¤È¤Ï¤¤¤¨¡¢¸ÂÅÙ¤¬
¤¢¤ê¤Þ¤¹¤è¤Í¡£
¡ä¡ä¼«¿æ¥Í¥¿¤Î¸å¤Ç¤¹¤¬¡¢¥Í¥Ã¥È´Ä¶¤¬Îɤ¯¤Ê¤Ã¤¿¡ª
°ú±Û¤·Àè¤â¥¢¥Ñ¡¼¥È¤Ê¤ó¤Ç¤¹¤¬¡¢Á´Éô¤Ç£²£´Éô²°¤¢¤ë¤Î¤Ç¡¢NTTÅì¤Î¥Õ¥ì¥Ã¥Ä¥Í¥¯¥¹¥ÈHighSpeed
¥¿¥¤¥×¤Ç¥Í¥Ã¥È¤òÀ°¤¨¤Þ¤·¤¿¡£¸µ¡¹¤³¤³¤Ï¸÷¤ÎÀßÈ÷¤¬Æþ¤Ã¤Æ¤¿Íͤǡ¢°ì½µ´Ö¤Ç¸÷³«Ä̤Ǥ¹¡£
Áᤤ¤Í¡ÁÁᤤ¤Í¡Á¡£
¬Äꥵ¥¤¥È¤Ç¿Þ¤Ã¤¿¤é£²£°M¤¢¤¿¤ê¤·¤«½Ð¤Æ¤Ê¤¯¡¢¤³¤ó¤Ê¤â¤ó¤«¡¼¤È¤·¤ç¤Ü¡¼¤ó¤·¤Æ¤¿¤ó¤À¤±¤É¡¢KDDI¤Î
¬Äꥵ¥¤¥È¤ÇÀçÂæ¥µ¡¼¥Ð¤ò»È¤Ã¤ÆÄ´¤Ù¤Æ¸«¤¿¤é¡¢90Mbps¶á¤¯½Ð¤ë¤ó¤Ç¤¹¤è¡£¤á¤Ã¤µÁᤤ¡£
¤Þ¤¡¡¢¥Ë¥³¥Ë¥³¤È¤«ºÆÀ¸¤·¤Æ¤â¡¢¤³¤ó¤Ê®Å٤Ǥޤ»¤ó¤±¤É¤Í¡£(¿Í¤¬¾¯¤Ê¤¤»þ´ÖÂӤϤޤì¤Ë½Ð¤ë)
ËÜÍè¡¢100Mbps·ÀÌó¤À¤È50Mbps¤¬Îɤ¤½ê¤Ê¤Î¤Ç¤¹¤¬¡¢º£²ó·ÀÌ󤷤Ƥ¤¤ë¤Î¤Ï¡¢¥¢¥Ñ¡¼¥È¤Þ¤Ç
1Gbps¤ÇÍè¤Æ¤¤¤Æ¡¢³ÆÉô²°¤Ë100Mbps¤Ç¸÷¥Õ¥¡¥¤¥Ð¤ÇÇÛ¿®¤¹¤ë¥¿¥¤¥×¤Ê¤Î¤Ç¡¢¤³¤ó¤ÊÃͤ¬½Ð¤ë¤ó
¤Ç¤¹¤ï¤Í¡£Áᤤ¤Ã¤Æ¤¤¤¤¤Ê¤¡¡¦¡¦¡¦¤Ç¤â¥µ¡¼¥Ð¡¼¤¬ÃÙ¤¤¤«¤é°ÕÌ£¤Í¡¼¤Ê¤¡¡Ä¡£
¤Á¤Ê¤ß¤Ë¡¢¸÷¤ËÊѤ¨¤¿¿Í¤Ï¤ï¤«¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢¸÷¤ËÊѤ¨¤ë¤È¡¢ÅÅÏÃ²ÃÆþ¸¢¤ÏµÙ»ß¾õÂÖ¤ËÆþ¤ê¤Þ¤¹¡£
¤½¤·¤Æ10ǯ¥á¥¿¥ëÀþ¤ò»È¤ï¤Ê¤¤¤È¾ÃÌǤ·¤Þ¤¹¡£10ǯ°ÊÆâ¤Ç¤¢¤ì¤Ð¡¢°ú¤Ã±Û¤·Àè¤Ë¸÷¤¬Ìµ¤¤¡ª¤È¤¤¤¦¾ì¹ç
¤Ë¥á¥¿¥ëÀþ¤Ç·ÀÌó²Äǽ¤Ç¡¢ºÆ¤Ó²ÃÆþ¸¢¤ò»È¤Ã¤ÆÅÅÏäò»È¤¨¤ëÍͤˤʤê¤Þ¤¹¡£
¤Þ¤¡¡¢»ä¤â»ý¤Ã¤Æ¤ë²ÃÆþ¸¢¤Ï²ñ¼Ò¤«¤é°Â¤¯¾ù¤Ã¤ÆÌã¤Ã¤¿¤ä¤Ä¤Ê¤Î¤Ç¡¢¤â¤¦¾ÃÌǤ·¤Æ¤â¤¤¤¤¤±¤É¤Í¡Á£÷
¡Ä¤È¡¢¿·¤·¤¤À¸³è¤ò¤Ê¤ó¤À¤«¤ó¤À¤Ç¥¨¥ó¥¸¥ç¥¤¤·¤Æ¤¤¤ë¤¦¤Ê¤Á¤ç¤Ç¤¢¤ê¤Þ¤·¤¿¤È¤µ¡£
¤Þ¤¡¡¢¥¹¡¼¥Ñ¡¼¤ØÇ㤤ʪ¤Ë¹Ô¤¯¤È¤«¡¢Çã½Ð¤·ÍÑ¥Þ¥Þ¥Á¥ã¥ê(¸å¤í¤Ë¤«¤´ÁýÀߺÑ)¤ò¹ØÆþ¤·¤¿¤È¤«(¾¤Ë¡¢
±óµ÷Î¥ÍѤËMTB¤Ã¤Ý¤¤¤Á¤ã¤ê¤ó¤³¤Ï¤¢¤ë)¡¢¤¤¤í¤¤¤í¤¢¤ë¤ó¤Ç¤¹¤±¤É¤Í¡£
¤«¤´ÊØÍø¤À¤Ê¤¡¡Ä¤È¤¤¤¦¤³¤È¤Ç¡¢º£²ó¤Ï¤³¤³¤Þ¤Ç¡£
(*Žß¦ØŽß)ŽÉ޼ ޱްŽËŽ»ŽËŽÞŽ»ŽÀŽÞŽÅް¡¡¡¡ŽËŽ»ŽËŽÞ޻޲޳ŽÅ(Žß¦ØŽß*)
Åê¹ÆÆü¡§2012-01-18 Wed
¤µ¤Æ¡¢¥¹¥Þ¥ÛÊɻ楳¥ó¥Ð¡¼¥¿¡¼¤Ç»È¤Ã¤¿DrawImage¤Ë¤Ä¤¤¤Æ¡¢¥á¥â¤ÎÊѤï¤ê¤Ë»Ä¤·¤Æ¤ß¤è¤¦¡£¥³¥ó¥Ð¡¼¥¿¡¼¤Î¥³¡¼¥É¤ÏŤ¤¤·Â¾¤Îµ¡Ç½¤â¤¢¤ë¤Î¤Ç¡¢º£²ó¤Ï¸¡¾ÚÍѤ⤫¤Í¤Æ¡¢DrawImage¤Î¥Æ¥¹¥ÈÍѥġ¼¥ë¤òºî¤Ã¤Æ¸¡¾Ú¤·¤Æ¤ß¤¿¡£
¡Ú¼ê½ç£±¡ÛGDI+¤Î½é´ü²½
MFC¤ÇGdiplus¤ò»È¤¦¤Ë¤Ï¡¢½é´ü²½¤ò¤·¤Æ¤ä¤é¤Í¤Ð¤Ê¤é¤Ê¤¤¡£
¤³¤ó¤Ê´¶¤¸¡£
BOOL CDrawImageTestApp::InitInstance()
{
// ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¤¬¡¡visual ¥¹¥¿¥¤¥ë¤ò͸ú¤Ë¤¹¤ë¤¿¤á¤Ë¡¢
// ComCtl32.dll ¥Ð¡¼¥¸¥ç¥ó 6¡¡°Ê¹ß¤Î»ÈÍѤò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢
// Windows XP ¤Ë¡¡InitCommonControls() ¤¬É¬ÍפǤ¹¡£¤µ¤â¤Ê¤±¤ì¤Ð¡¢¥¦¥£¥ó¥É¥¦ºîÀ®¤Ï¤¹¤Ù¤Æ¼ºÇÔ¤·¤Þ¤¹¡£
InitCommonControls();
CWinApp::InitInstance();
AfxEnableControlContainer();
// ɸ½à½é´ü²½
// ¤³¤ì¤é¤Îµ¡Ç½¤ò»È¤ï¤º¤Ë¡¢ºÇ½ªÅª¤Ê¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤ò½Ì¾®¤·¤¿¤¤¾ì¹ç¤Ï¡¢
// °Ê²¼¤«¤é¡¢ÉÔÍפʽé´ü²½¥ë¡¼¥Á¥ó¤ò
// ºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
// ÀßÄ꤬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥ì¥¸¥¹¥È¥ê ¥¡¼¤òÊѹ¹¤·¤Þ¤¹¡£
// TODO: ¤³¤Îʸ»úÎó¤ò¡¢²ñ¼Ò̾¤Þ¤¿¤ÏÁÈ¿¥Ì¾¤Ê¤É¤Î¡¢
// ŬÀÚ¤Êʸ»úÎó¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
//SetRegistryKey(_T("¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¥¦¥£¥¶¡¼¥É¤ÇÀ¸À®¤µ¤ì¤¿¥í¡¼¥«¥ë ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó"));
free( (void *)m_pszProfileName );
m_pszProfileName = _tcsdup( _T(".\\DrawImageTest.ini") );
//GDI+½é´ü²½¥³¡¼¥É
GdiplusStartupInput GSInput;
GdiplusStartupOutput GSOutput;
ULONG_PTR pulToken;
ULONG_PTR pulHookToken;
GSInput.SuppressBackgroundThread = TRUE;
GdiplusStartup( &pulToken, &GSInput, &GSOutput );
GSOutput.NotificationHook( &pulHookToken );
CDrawImageTestDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: ¥À¥¤¥¢¥í¥°¤¬ <OK> ¤Ç¾Ã¤µ¤ì¤¿»þ¤Î¥³¡¼¥É¤ò
// µ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
}
else if (nResponse == IDCANCEL)
{
// TODO: ¥À¥¤¥¢¥í¥°¤¬ <¥¥ã¥ó¥»¥ë> ¤Ç¾Ã¤µ¤ì¤¿»þ¤Î¥³¡¼¥É¤ò
// µ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
}
//GDI+¸å»ÏËö¥³¡¼¥É
GSOutput.NotificationUnhook( pulHookToken );
GdiplusShutdown( pulToken );
// ¥À¥¤¥¢¥í¥°¤ÏÊĤ¸¤é¤ì¤Þ¤·¤¿¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥Ã¥»¡¼¥¸ ¥Ý¥ó¥×¤ò³«»Ï¤·¤Ê¤¤¤Ç
// ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò½ªÎ»¤¹¤ë¤¿¤á¤Ë FALSE ¤òÊÖ¤·¤Æ¤¯¤À¤µ¤¤¡£
return FALSE;
}
¢¨¥³¥ó¥Ñ¥¤¥é¤¬¸Å¤¤(2003)¤Î¤ÇÃí°Õ¡ª
´ðËÜŪ¤Ë¤Ï¡¢¾åµ¤Ë¼¨¤¹Ä̤ê£Ó£ô£á£ò£ô£õ£ð¤È£Ó£è£õ£ô£ä£ï£÷£î¤ò¸Æ¤Ó½Ð¤¹¤À¤±¡£
¤À¤¬¡¢¤³¤³¤Ç¶Ã¤¤¤¿¤Î¤¬Win7¤Î32Bit¤È64Bit¤Ç¤Ï¡¢(32¥Ó¥Ã¥È¥¢¥×¥ê¤Î)µóư¤¬¾¯¡¹°ã¤¦ÌÏÍͤÀ¡¢¤È¤¤¤¦¤³¤È¡£
¤Ê¤ó¤Ç¤«¤·¤é¤ó¤¬¡¢¥³¥ó¥Ð¡¼¥¿¡¼¤Ï¾åµ¤ÎÍѤʥե寤Ȥ«¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¹¥ì¥Ã¥ÉÄä»ß(TRUEÀßÄꤷ¤Æ¤¤¤ë½ê)¤È¤«¤ä¤Ã¤ÆÌµ¤¤¤ó¤À¤±¤É¡¢ÌäÂê̵¤¯Æ°¤¯¤Î¤ËÂФ·¤Æ¡¢¤³¤Î¸¡¾ÚÍѥġ¼¥ë¤Ï¥¨¥é¡¼¤Çư¤«¤Ê¤«¤Ã¤¿¡£
¥³¥ó¥Ð¡¼¥¿¡¼¤ÏWin7 64Bit¤Ê¤ó¤À¤±¤É¡¢¥Ä¡¼¥ë¤ÏWin7 32Bit¡£¤Æ¤³¤È¤Ï¡¢WOW64¤Î´Ä¶¤À¤È¥¨¥é¡¼¤Ë¤Ê¤é¤Ê¤¤¤Ã¤Æ¤³¤È¤é¤·¤¤¡£¤Ê¤ó¤Ç¤À¤í¤¦¤Ê¡Ä¡£
¤Þ¤¡¡¢Æ°¤¯¤«¤é¤¤¤¤¤«¡£
¤³¤ì¤Ï¾¤Î¿Í¤ÎBlog¤ò»²¹Í¤Ëºî¤Ã¤¿¤Î¤Ç¤¢¤ë¤¬¡¢¥³¥ó¥Ð¡¼¥¿¡¼¤Ç¤ÏGdiplusStartup()¤ÎÂè3¥Ñ¥é¥á¡¼¥¿¤ÏNULL¡£
¤È¤ê¤¢¤¨¤º¡¢(¤³¤Î¥Ä¡¼¥ë¤Ï¥À¥¤¥¢¥í¥°¥¢¥×¥ê¤Ê¤Î¤Ç) DoModal()¤ò¶´¤ó¤Ç¤ª¤±¤ÐOK¡£
¡Ú¼ê½ç£²¡Û£Ä£ò£á£÷£É£í£á£ç£å¤ò»È¤Ã¤Æ¤ß¤è¤¦
¼¡¡¢»È¤¦ÊýË¡¡£
²èÁü¤òÊÑ´¹¤¹¤ë¤Î¤Ï¡¢£±¤Ä¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ä¤é¤»¤Æ¡¢1¹Ô¤ÇÊÑ´¹¤Ç¤¤ëÍͤˤ·¤¿¡£
¥Ø¥Ã¥À¡§stdafx.h
¡ÁÅÓÃæ¾Êά¡Á
#include <atlImage.h>
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment( lib, "gdiplus.lib" )
¥Ø¥Ã¥À¡§CDrawImageTestDlg.h
#pragma once
#define WM_UPDATEDRAW (WM_USER+0x0001)
class CDrawImageTestDlg : public CDialog
{
¡ÁÅÓÃæ¾Êά¡Á
// ¼ÂÁõ
protected:
¡ÁÅÓÃæ¾Êά¡Á
DECLARE_MESSAGE_MAP()
LRESULT OnUpdateDraw( WPARAM wp, LPARAM lp );
private:
CImage m_ImgBase;
CBitmap m_BmpBase; //m_ImgBase¤ÈÆ©²á¤Î²èÁü¤òÊÝ»ý¤¹¤ë
CDC m_DCBase;
CBitmap m_BmpDraw; //³ÈÂç½Ì¾®¸å¤Î²èÁü¤òÊÝ»ý¤¹¤ëÉÁ²èÍѲèÁü
CDC m_DCDraw;
CSize m_szDraw;
int m_nDrawMode;
CString m_strDrawMode;
};
¥½¡¼¥¹¥³¡¼¥É¡§CDrawImageTestDlg.cpp
BEGIN_MESSAGE_MAP(CDrawImageTestDlg, CDialog)
¡ÁÅÓÃæ¾Êά¡Á
//}}AFX_MSG_MAP
ON_MESSAGE( WM_UPDATEDRAW, OnUpdateDraw )
END_MESSAGE_MAP()
//½é´ü²½¥ë¡¼¥Á¥ó
BOOL CDrawImageTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// ¤³¤Î¥À¥¤¥¢¥í¥°¤Î¥¢¥¤¥³¥ó¤òÀßÄꤷ¤Þ¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥á¥¤¥ó ¥¦¥£¥ó¥É¥¦¤¬¥À¥¤¥¢¥í¥°¤Ç¤Ê¤¤¾ì¹ç¡¢
// Framework ¤Ï¡¢¤³¤ÎÀßÄê¤ò¼«Æ°Åª¤Ë¹Ô¤¤¤Þ¤¹¡£
SetIcon(m_hIcon, TRUE); // Â礤¤¥¢¥¤¥³¥ó¤ÎÀßÄê
SetIcon(m_hIcon, FALSE); // ¾®¤µ¤¤¥¢¥¤¥³¥ó¤ÎÀßÄê
// TODO: ½é´ü²½¤ò¤³¤³¤ËÄɲä·¤Þ¤¹¡£
CString strFile = theApp.GetProfileString( "SETTING", "ImageFile", ".\\una.png" );
m_ImgBase.Load( strFile );
PostMessage( WM_UPDATEDRAW );
return TRUE; // ¥Õ¥©¡¼¥«¥¹¤ò¥³¥ó¥È¥í¡¼¥ë¤ËÀßÄꤷ¤¿¾ì¹ç¤ò½ü¤¡¢TRUE ¤òÊÖ¤·¤Þ¤¹¡£
}
//³ÈÂ硦½Ì¾®¥ë¡¼¥Á¥ó
LRESULT CDrawImageTestDlg::OnUpdateDraw( WPARAM wp, LPARAM lp )
{
//³Æ¼ï²èÁü¥¨¥ê¥¢¤È¥Ú¥¢¤ÎDC¤Îºï½ü
if( m_BmpBase.GetSafeHandle() != NULL ){
m_DCBase.DeleteDC();
m_BmpBase.DeleteObject();
}
if( m_BmpDraw.GetSafeHandle() != NULL ){
m_DCDraw.DeleteDC();
m_BmpDraw.DeleteObject();
}
//¥¯¥é¥¤¥¢¥ó¥È¶ë·Á¼èÆÀ
CRect rcClient;
GetClientRect( &rcClient );
m_szDraw.SetSize( rcClient.Width(), rcClient.Height() );
//²èÁü¥¨¥ê¥¢ºîÀ®
CDC* pWndDC = GetDC();
m_BmpBase.CreateCompatibleBitmap( pWndDC, m_ImgBase.GetWidth(), m_ImgBase.GetHeight() );
m_DCBase.CreateCompatibleDC( pWndDC );
m_BmpDraw.CreateCompatibleBitmap( pWndDC, m_szDraw.cx, m_szDraw.cy );
m_DCDraw.CreateCompatibleDC( pWndDC );
ReleaseDC( pWndDC );
m_DCBase.SelectObject( &m_BmpBase ); //¤³¤ì¤ò˺¤ì¤ë¤È¿¿¤Ã¹õ²èÁü¡ª¡ª¡ª
m_DCDraw.SelectObject( &m_BmpDraw );
//Image->Bitmap
m_ImgBase.BitBlt( m_DCBase.GetSafeHdc(), 0, 0, SRCCOPY );
//Bitmap¥ª¥Ö¥¸¥§¥¯¥È¤ò¡¢HBITMAP¤«¤éÀ¸À®
Bitmap* pBmp = Bitmap::FromHBITMAP( (HBITMAP )m_BmpBase.GetSafeHandle(), NULL );
//m_DCDraw¤ò½ÐÎϤȤ¹¤ëGraphics¥ª¥Ö¥¸¥§¥¯¥ÈºîÀ®
Graphics Grap( m_DCDraw.GetSafeHdc() );
//Êä´°¥â¡¼¥ÉÀßÄê
switch( m_nDrawMode ){
default:
case 0: Grap.SetInterpolationMode( InterpolationModeNearestNeighbor );
m_strDrawMode = "Neighbor";
break;
case 1: Grap.SetInterpolationMode( InterpolationModeBilinear );
m_strDrawMode = "Bilinear";
break;
case 2: Grap.SetInterpolationMode( InterpolationModeHighQualityBilinear );
m_strDrawMode = "HighQualityBilinear";
break;
case 3: Grap.SetInterpolationMode( InterpolationModeBicubic );
m_strDrawMode = "BiCubic";
break;
case 4: Grap.SetInterpolationMode( InterpolationModeHighQualityBicubic );
m_strDrawMode = "HighQualityBicubic";
break;
}
//Bitmap¥ª¥Ö¥¸¥§¥¯¥È¤Î»ý¤Ä²èÁü¤ò¡¢Graphics¥ª¥Ö¥¸¥§¥¯¥È¤ØÅ¾Á÷(¥¯¥é¥¤¥¢¥ó¥È¤ÎÂ礤µ¤Ë³ÈÂ硦½Ì¾®)
Grap.DrawImage( pBmp, 0, 0, rcClient.Width(), rcClient.Height() );
//»È¤ï¤Ê¤¯¤Ê¤Ã¤¿Bitmap¥ª¥Ö¥¸¥§¥¯¥È¤Îºï½ü
//Graphics¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¹¥³¡¼¥×³°¤Ë¹Ô¤Ã¤¿¤é¾Ã¤¨¤ë(¡Ä¤«¤â¤·¤ì¤Ê¤¤¡©)
delete pBmp;
//¥¦¥£¥ó¥É¥¦ºÆÉÁ²è»Ø¼¨
Invalidate( FALSE );
return( 0 );
}
m_ImgBase¤Ë¤Ï¡¢OnInitDialog()¤Ç£Ì£ï£á£ä¡Ê¡Ë¤ò»È¤Ã¤Æ²èÁü¤òÆÉ¤ß¹þ¤ó¤Ç¤¢¤ë¡£¤³¤ì¤ÇBMP¤Î¾¡¢Jpeg¡¢PNG¡¢GIFÅù¤âÆÉ¤á¤ë¡£
m_DCBase & m_BmpBase¤Ï¡¢m_ImgBase ¤Î²èÁü¤òCDC¤ÈCBitmap¤Ç»È¤¦¤¿¤á¤Ë³ÎÊݤ·¤Æ¤¢¤ë¥ï¡¼¥¯¤ß¤¿¤¤¤Ê¤â¤Î¡£
¸å¤ÇÀâÌÀ¤¹¤ë¤¬¡¢ÀµÄ¾£È£Â£É£Ô£Í£Á£Ð¤¬Íߤ·¤¤¤À¤±¤Ê¤Î¤Ç¡¢ÊÌÃÊ¥á¥ó¥Ð¡¼¤Ç³ÎÊݤ·¤Æ¤ª¤¯É¬ÍפϤʤ«¤Ã¤¿¤«¤â¤·¤ì¤Ê¤¤¡Ä
¢¨¤¿¤À¤·¡¢m_ImgBase¤«¤é¤Ï¼èÆÀ¤Ç¤¤Ê¤«¤Ã¤¿¡£
¡¡(ÊýË¡¤¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡¢¾¯¤Ê¤¯¤È¤âGet¡Á()¤È¤¤¤¦½èÍý¤Î¸Æ¤Ó½Ð¤·¤Ç¤Ï¼èÆÀ¤Ç¤¤Ê¤«¤Ã¤¿)
m_DCDraw & m_BmpDraw ¤Ï¡¢¥¦¥£¥ó¥É¥¦¤Ø¤ÎÉÁ²è½èÍý (OnPaint()) ¤Ø³ÈÂ硦½Ì¾®¤·¤¿²èÁü¤òÅϤ¹¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡¡£
¤³¤¦¤ä¤Ã¤Æ¡¢²Ã¹©ºÑ²èÁü¤ò³ÎÊݤ·¤Æ¤ª¤¯¤Î¤Ï¡¢ºÇ¶á¤Î»ä¤Î¤ªµ¤¤ËÆþ¤ê¡£
ºÆ³ÈÂ硦½Ì¾®¤¬É¬ÍפÎ̵¤¤ºÆÉÁ²è»Ø¼¨¤Ã¤Æ¤¢¤ë¤ï¤±¤Ç¡¢¤½¤ÎÅÔÅÙ³ÈÂ硦½Ì¾®¤·¤¿¤¯¤Ê¤¤¤Ã¤Æ¤À¤±¡£
¤³¤Î½èÍý¤Ïñ½ã¤Ë³ÈÂç½Ì¾®¤·¤Æ¤¤¤ë¤À¤±¤À¤±¤É¡¢²èÁü¤ËÂФ·¤ÆÄ¾ÀÜÊÔ½¸¤ò¤«¤±¤ë¥³¡¼¥É¤¬ÂçÎ̤ˤ¢¤ë¥Ä¡¼¥ëÅù¤òºî¤Ã¤¿¤é¡¢ºÆÉÁ²è½èÍý¡ÊOnPaint())¤ËÊÔ½¸¥³¡¼¥É¤Ï½ñ¤¤¿¤¯¤Ï̵¤¤¡Ä¡ª¤È¹Í¤¨¤Æ¤¤¤ë¤Î¤Ç¤¹¤è¡£
¤½¤ì¤Ë¡¢ÅÓÃæ¤É¤³¤ÇºÆÉÁ²è¤¬Æþ¤ë¤«¤ï¤«¤é¤ó¤Î¤Ç¡¢¼«Ê¬¤ÇºÆÉÁ²è¥³¡¼¥É¤ò³ä¤ê¹þ¤Þ¤»¤Á¤ã¤Ã¤Æ¤âÂç¾æÉפÊÍͤˡ¢ÉÁ²èÍѤȥ¥¯¤òʬ¤±¤Æ¤¢¤ë¡£
·ë¶É¡¢m_BmpBase¡¢¤³¤¤¤Ä¤Ï¡¢DrawImage()¤ØÅϤ¹¤¿¤á¤ÎÅùÇܲèÁü¤òÊÝ»ý¤·¤Æ¤¤¤ë¡¢¤È»×¤¨¤ÐOK¡£
¤Ê¤ó¤Ç¤³¤ó¤Ê²ó¤ê¤¯¤É¤¤»ö¤ò¤¹¤ë¤«¤È¤¤¤¦¤È¡¢DrawImage()¤ØÅϤ¹¤¿¤á¤Î²èÁü¤Ï¡¢Gdiplus::Image ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤é¡£
IStream·Ðͳ¤Ç¤â¤Ç¤¤ë¤±¤É¡¢¤³¤¤¤Ä¤ÏÌÌÅݤʤΤǡ¢HBITMAP¤«¤é»ý¤Ã¤Æ¤¯¤ëÊýË¡¤òõ¤·¤Æ¤¤¤¿¤é¡Ä
¡¦DrawImage()¤Î¸µ²èÁü¤Ã¤ÆGdiplus::Image¤Î¥Ý¥¤¥ó¥¿¤«¡¦¡¦¡¦
¡¦GlobalAlloc()¤À¤Î¤Ê¤ó¤À¤Î¸Æ¤Ó½Ð¤·¤ÆIStream¤ËÅϤ·¤ÆImageºî¤ë¤Î¤«¡Á¡Ä¤á¤ó¤É¤¯£ó¡Ê£ò£ù
¡¦IStream¤Ë¤É¤³¤«¤é³ÊǼ¤¹¤ë¤ó¤À¤í¡©BITMAPINFOHEADERÆþ¤ì¤ó¤Î¤«¡©¡¦¡¦¡¦¤¦¤ó¡¢¤ï¤«¤é¤ó¡ª
¡¦HBITMAP¤«¤é²èÁü¤ò»ý¤Ã¤Æ¤³¤ì¤ë¤Î¤¢¤ë¤«¤Ê¡¦¡¦¡¦¡Ê¥Ø¥Ã¥Àµù¤ê)
¡¦¤Û¤©¡¢Gdiplus::Bitmap¤¬»ý¤Ã¤Æ¤³¤ì¤ë¤«¡ÄFromHBITMAP¤Ï¤°¤°¤ëÀèÀ¸¤Ëʹ¤¤¤¿¤Û¤¦¤¬Á᤽¤¦¤À
¡¦¤ó¡©Bitmap¤Ã¤Æ¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤¬Image¤Ê¤ó¤À¤Ê¡¼¡Ä
¡¦¤â¤·¤«¤·¤Æ¡¢¤â¤·¤«¤·¤Æ¡¢ÇÉÀ¸¤·¤Æ¤ëBitmap¤¬¡¢»ØÄê¤Ç¤¤¿¤ê¤·¤Ê¤¤¤«¡Ä¡©¡Ê²þ¤²þ¤¡¦¡¦¡¦¡Ë
¡¦¤ä¤Ã¤¿¡¢Bitmap¤Ç¤â»È¤¨¤ë¤¾¡ª¡ª¡ª
¤È¤¤¤¦Î®¤ì¡£¤À¤«¤é¡¢²èÁü¤ò°ìÅÙHBITMAP¤Ë»ý¤Áľ¤¹É¬Íפ¬¤¢¤Ã¤¿¡£
CImage¤ÏHBITMAP¤Ê¤µ¤½¤¦¤À¤Ã¤¿¤Î¤Ç¡¢´Êñ¤ËBitBlt()¤ÇžÁ÷¤µ¤»¤ë¤³¤È¤Ë¤·¤¿¡£
¤½¤Î¤¿¤á¤Ë¡¢m_DCBase¤¬É¬Íס£¤Þ¤¡m_BmpBase¤ò¤¤¤¸¤¯¤ë¤Ë¤Ï¡¢DC¤¢¤Ã¤¿¤Û¤¦¤¬³Ú¤À¤·¤Í¡£
ºÆÅÙ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¾ì¹ç¤Ï¡¢m_BmpBase.GetSafeHandle()¤¬NULL°Ê³°¤Î¾ì¹ç¤Ë¸Â¤ê¡¢DeleteObject()¤·¤Æ¤ë¡£
(ÅöÁ³¥Ú¥¢¤Ë¤Ê¤Ã¤Æ¤¤¤ëm_DCBase¤â¾Ã¤·¤Þ¤¹¡£¤Ê¤ª¡¢Àè¤ËDC¤ò¾Ã¤¹¤Î¤¬Îɤ¤¡¦¡¦¡¦¤Î¤«¤Ê¡©¤¤¤Á¤¤¤ÁSelectObject()¤·¤¿¤¯¤Í¡¼¤·¤Ê¡¼)
¤Þ¤¡¡¢¥¯¥ê¥¢¤·¤Ê¤¤¤Ç»È¤¦Ìõ¤Ë¤â¤¤¤¤Þ¤»¤ó¤«¤é¤Í¡£
³ÈÂ硦½Ì¾®½èÍý(OnUpdateDraw()) ¤ò¥á¥Ã¥»¡¼¥¸¤Ë¤·¤Æ¤¤¤ë¤Î¤Ï¡¢Ã±½ã¤ËÉÁ²è»Ø¼¨¤È¤Î¤Ö¤Ä¤«¤ê¤ò¤¢¤ëÄøÅÙÍ޻ߤ·¤¿¤¤¤«¤é¤Ã¤Æ¤À¤±¤Ç¡¢¤³¤ì¤È¤¤¤Ã¤¿¿¼¤¤°ÕÌ£¤Ï̵¤¤¡£
¡Ú¼ê½ç£³¡Û³ÈÂ硦½Ì¾®¤ÎºÝ¤ÎÊä´°¥â¡¼¥É¤òÊѹ¹¤¹¤ë¤Ù
Gdiplus::Graphics¤Ë¤Ï¡¢³ÈÂ硦½Ì¾®¤Ë»È¤¦¥í¥¸¥Ã¥¯ (Êä´°¥â¡¼¥É) ¤¬ÀßÄê¤Ç¤¤ë¡£
¥½¡¼¥¹Æâ¤Ç¤â»ØÄꤷ¤Æ¤¤¤ë¤¬¡¢Gdiplus::Graphics::SetInterpolationMode()¤È¤¤¤¦´Ø¿ô¤¬¤¢¤ê¡¢¤³¤¤¤Ä¤Ë°Ê²¼¤Î¥Ñ¥é¥á¡¼¥¿¤òÅϤ¹¤³¤È¤ÇÀßÄꤹ¤ë¡£
¡¡InterpolationModeNearestNeighbor
¡¡InterpolationModeBilinear
¡¡InterpolationModeHighQualityBilinear
¡¡InterpolationModeBicubic
¡¡InterpolationModeHighQualityBicubic
¤Ê¤ª¡¢¤³¤¤¤Ä¤é¤ÏGdiplus̾¾Î¶õ´Ö¤Ë¤¤¤ë¤Î¤Ç¡¢using namespace Gdiplus ¤ò¤Ä¤±¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤¤Á¤ó¤ÈGdiplus::¤òÉÕ¤±¤Þ¤·¤ç¤¦¤Í¡£
¢¨¤ª¤¤¤é¤Ï¡¢Ì¤¤À¤Ë̾¾Î¶õ´Ö¤Ê¤ó¤Æ¤Ê¤ó¤Ç¤Ç¤¤¿¤ó¤À¤í¡©¤Ã¤Æ»×¤Ã¤Æ¤Þ¤¹¤±¤É¤Í¡Á¡£
¡¡¤É¤¦¤Ç¤â¤¤¤¤¤±¤É¡¢namespace¤ÏIntelliSense(2003¤Î¤Í)¤Ë¤Ç¤Æ¤³¤Í¤§¡ÄŽÏŽÝŽÄŽÞޏ޾
¤µ¤Æ¡¢Á°µOnUpdateDraw()¤Î¾ì¹ç¤Ï¡¢Graphics¤òGrap¤È¤¤¤¦Ì¾Á°¤Ç»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Grap.SetInterpolationMode(¤Û¤Ë¤ã¤é¤é)¤È¸Æ¤Ó½Ð¤»¤ÐOK¤Ç¤¹¡£
¤¢¡¢DrawImage()¤ÎÁ°¤Ë¸Æ¤Ó½Ð¤µ¤Ê¤¤¤È°ÕÌ£¤Ê¤¤¤è¡©
¢¨¡É¤Û¤Ë¤ã¤é¤é¡É¤¬¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤Ã¤¿¡©ÃΤé¤ó¤¬¤Ê(¡¡¦¦Ø¡¦¡®)
¤Ê¤ª¡¢Stre£ô£ã£èBlt¤Ï¡¢NearestNeighbor¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£(Á´¥¿¥¤¥×»î¤·¤Æ¤ß¤ë¤È¤ï¤«¤ê¤Þ¤¹¡£¤¿¤À¡¢Èù̯¤Ë°ã¤¤¤Þ¤¹¤±¤É¤Í)
Bilinear¤äBibubic¤Ë¤¹¤ë¤À¤±¤Ç¸ú²Ì¤¬¸«¤¨¤ë¤Î¤Ç¤¹¤¬¡¢¼Ð¤áÀþ¤È¤«¤Î¾ì¹ç¡¢Àþ¤¬ÀÚ¤ì¤Æ¤¤¤ë¤Î¤¬¸«¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤Ê¤ó¤È¤«Êä´°¤·¤Æ¤¤¤ë¤Î¤ò±£¤·¤¿¤¤¤È¤¤¤¦¾ì¹ç¤Ï¡¢HighQuality¤ÎÊý¤ò»ØÄꤹ¤ë¤È¹¬¤»¤Ë¤Ê¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤¿¤À¤·¡¢¤³¤ì¤Ï¿¾¯²èÁü¤¬¤Ü¤ä¤±¤ë¤Î¤ÇÃí°Õ¤Ç¤¹¡£°ìÅÙ¤ª»î¤·¤·¤Æ¤ß¤ë¤Î¤ò¤ª´«¤á¤·¤Þ¤¹¡£
¢¨»×¤Ã¤¿¤è¤ê¤¬¤ó¤Ð¤Ã¤ÆÊä´°¤·¤Æ¤¯¤ì¤Þ¤¹¡££³¡Á£´ÇܳÈÂ礷¤¿Àþ¤â¡¢¥É¥Ã¥È¶³¦¤¬·ë¹½±£¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹
¡Ú½ª¤ï¤ê¤À¤è¤Ã¡ª¡Û
¤¤¤º¤ì¤Ë¤»¤è¡¢StretchBlt()¤ò»È¤¦¤è¤ê¤Ï¤¤ì¤¤¤Ë³ÈÂ硦½Ì¾®¤Ç¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£
¤¤¤í¤¤¤í¼«Ê¬¤Ç¥í¥¸¥Ã¥¯¤òÁȤà¤Î¤â¤è¤¤¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤»¤¹¤Ç¤ËOS¤¬¤¢¤ëÄøÅ٤Ǥ¤ë¤â¤Î¤ò¤â¤Ã¤Æ¤¤¤Æ¡¢¤µ¤é¤Ë»È¤¦¤Þ¤Ç¤½¤ó¤Ê¤Ë¶ìÏ«¤·¤Ê¤¤¤Î¤Ç¤¹¤«¤é¡¢»È¤ï¤Ê¤¤¼ê¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£
¡¦¡¦¡¦¤Þ¤¡¡¢GDI+¤ÎÅÚɶ¤Çư¤¯´Ø·¸¾å¡¢¤¢¤ëÄøÅٴĶ°Í¸¤Ë¤Ê¤ë¤Î¤Ï¤·¤ç¤¦¤¬¤Ê¤¤¤ó¤Ç¤·¤ç¤¦¤Í¡£
¤â¤·¥¨¥é¡¼¤¬¤Ç¤ë´Ä¶¤Î¾ì¹ç¡¢StrechBlt()¤Ç²æËý¤·¤Æ¤â¤é¤¦¤È¤¤¤¦¾ì¹ç¤Ï¡¢¥Õ¥é¥°¤ÇÀ©¸æ¤¹¤ì¤Ð¤è¤í¤·¤¤¤«¤È»×¤¤¤Þ¤¹¡£
¤»¤á¤Æ¡¢SetStretchBltMode( HALFTONE ) ¤À¤Î¡¢Æ±( COLORONCOLOR )°Ì¤ÏÉÕ¤±¤Æ¤¢¤²¤¿¤¤¤â¤Î¤Ç¤¹¡£
¤Þ¤¡¡¢¤°¤°¤Ã¤Æ¤â¤Ê¤«¤Ê¤«MFC¤ÇHBITMAP¤Î²èÁü¤ò»È¤¦¤È¤¤¤¦¤â¤Î¤¬¸«¤Ä¤±¤ì¤Ê¤«¤Ã¤¿¤Î¤Ç½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£
(¤â¤Á¤í¤ó»²¹Í¤Ë¤·¤¿½ê¤Ï¤¢¤ë¤Î¤Ç¡¢³§Ìµ¤Ç¤Ï¤Ê¤¤¤Ç¤¹¤è¡£¤¿¤Àõ¤¹¤È.NETFramework¤Î¤À¤Ã¤¿¤ê¡¢C#¤È¤«¤À¤·¤Í¤§¡Ä¡©)
¼ÂºÝ¡¢¥¹¥Þ¥ÛÊɻ楳¥ó¥Ð¡¼¥¿¡¼¤Î¾ì¹ç¤Ï¡¢°ìÅÙ¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Æ¤½¤ì¤òÆÉ¤ß½Ð¤¹¤È¤¤¤¦¹Ó¶È¤â»È¤Ã¤Æ¤Þ¤·¤¿¤«¤é¤Í¤§¡£
gdiplus¤Î¥Ø¥Ã¥À¤ò¸«¤ÆHBITMAP¤«¤é»ý¤Ã¤Æ¤³¤ì¤ë¤Î¤Ï¤ï¤«¤Ã¤¿¤Î¤Ç¡¢¤³¤ì¤Ï¼ý³Ï¤¢¤Ã¤¿¤Ê¡¼¤È¤¤¤¦½ê¡£
¢¨¤¿¤À¤·¡¢¥¢¥×¥ê¤Î¤ª»Å»ö¤¬½ª¤ï¤ê¤½¤¦¤Ê¤Î¤Ç¡¢»Å»ö¤Ë¤Ï»È¤¨¤Ê¤¤¡¦¡¦¡¦¤«¤â¤·¤ì¤Ê¤¤(¡¡¦¦Ø¡¦¡®)޼ޮŽÎŽÞްŽÝ
(*Žß¦ØŽß)ŽÉºÇ¶áǯ¤È¤Ã¤¿¤Î¤Ç¡¢¥á¥â¤·¤Æ¤ª¤«¤Ê¤¤¤È˺¤ì¤ë¤Î¤À¤è¤Ã¡ª
Åê¹ÆÆü¡§2012-01-10 Tue
µ×¡¹¤Ë¹¹¿·¤·¤Æ¤ß¤ë¡£¡¦¡¦¡¦¤È¸À¤Ã¤Æ¤â¡¢RO¤ÏºÇ¶á¥é¥°¤¬¹ó¤¯¤Æ¥Æ¥ó¥·¥ç¥óÍî¤Á¤Þ¤¯¤Ã¤Æ¤ë¤Î¤Ç¡¢¥Í¥¿¤È¤·¤Æ¤ÏMFC¤È¤«¤Ë¤Ê¤Ã¤Á¤ã¤¦¤Í¡£
¡ÚMFC¡ÛPlgBlt()¤Ç²èÁü¤Î²óž¤ò¤·¤Æ¤ß¤¿
¡¡¿¦¾ì¤Ç¼ê¤Î¶õ¤¤¤¿¤È¤¤Ë¼Â¸³¤·¤Æ¤ß¤¿¡£
¡¡PlgBlt()¤Ï¡¢¸µ¤È¤Ê¤ë»Í³Ñ·Á¤Î²èÁü¤Îº¸¾å¤È¡¢¤³¤ì¤ËÎÙÀܤ¹¤ë±¦¾å¡¢º¸²¼¤Î£³ÅÀ¤ò»ØÄê(£´ÅÀÌܤÏÊ¿¹Ô»ÍÊÕ·Á¤È¤·¤Æ
¡¡¼«Æ°Åª¤Ë·×»»¤µ¤ì¤ë)¤¹¤ë¤È¡¢²óž¤Ç¤¤Þ¤¹¤è¡¢¤È¤¤¤¦²èÁüžÁ÷API¡£
¡¡¤³¤Î£³ÅÀ¤Î»ØÄê¤ÏºÂɸ¤Ç»ØÄꤷ¤Þ¤¹¡£
¡¡¤³¤¤¤Ä¤ò»È¤Ã¤ÆÌÌÇò¤¤¤Ê¤¡¤È»×¤Ã¤¿¤Î¤Ï¡¢²óž¤¹¤ë³ÑÅ٤ǽèÍý»þ´Ö¤¬ÊѤï¤ë¤È¤¤¤¦½ê¤Ç¤·¤ç¤¦¤«¡£
¡¡90Å٤Υ¨¥ê¥¢(0,90,180,270)¤ÏÁᤤ¤È¤«¡¢¤¢¤ë¾Ý¸Â¤Ï¿¾¯Áᤤ¤È¤«¤¢¤ë¤ß¤¿¤¤¤Ç¤¹¡£
¡¡¤Þ¤¿¡¢ÅöÁ³¤Ê¤¬¤é¡¢¤Ç¤«¤¤²èÁü¤ò²óž¤µ¤»¤ë¤È¡¢»þ´Ö¤¬³Ý¤«¤ê¤Þ¤¹¡£
¡¡(»î¤·¤Æ¤ß¤¿¤È¤³¤í¡¢1600x1200¤Î²èÁü¤ò²óž¤µ¤»¤ë¤È¡¢ÂçÂÎ200¥ß¥êÉÃÄøÅÙ¤«¤«¤Ã¤Æ¤Þ¤·¤¿¡£¸µ²èÁü¤ÏDDB¡©
¡¡(DirectDraw¤Î¥µ¡¼¥Õ¥§¥¤¥¹)¤Ç¤¹)
¡¡¥µ¥ó¥×¥ë¥³¡¼¥É¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¤¢¤Á¤³¤Á¤Çž¤¬¤Ã¤Æ¤¤¤ë¤Î¤È¡¢¿¦¾ì¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï»ý¤Á½Ð¤»¤Ê¤¤¤Î¤Ç¡¢£ç£ä£ç£ä¤È
¡¡Ê¸¾Ï¤Ç½ñ¤¤¤Æ¤¤¤ë¤À¤±¤Ê¤Î¤Ç¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¤ò¸«¤¿¤¤¿Í¤Ï¾¤òÅö¤¿¤Ã¤Æ¤¯¤À¤µ¤¤¤Þ¤·¡£
¡¡¤Þ¤¡¡¢åºÎï¤Ë²óž¡¢¤È¤¤¤¦¤ï¤±¤Ë¤Ï¤¤¤¤Þ¤»¤ó¤¬¡¢¤È¤ê¤¢¤¨¤º²óž¤Ç¤¤ì¤Ð¤¤¤¤¤ä¡¼¤È¤¤¤¦Êý¸þ¤±¤ÎAPI¤Ç¤·¤¿¡£
¡ÚExplorer¡©Aero¡©¡Û¤ä¤Ã¤Èľ¤Ã¤¿¸Ä¿ÍÀßÄꡦÊÉ»æÀßÄê (Windows7 64Bit)
¡¡¼«Âð¤ÎPC¤ÏWindows7 64Bit¤ò»È¤Ã¤Æ¤ë¤Î¤Ç¤¹¤¬¡¢ºòǯËö¤ËÆÍÁ³HDD¤¬Â¿¾¯¥À¥á¡¼¥¸¤ò¼õ¤±¤Æ¤¤¤Þ¤·¤Æ¡¢µ¢Âð¸å
¡¡PC¤òµ¯Æ°¤·¤¿¤é¡¢°Û¾ï¤Ë½Å¤«¤Ã¤¿¤ó¤Ç¤¹¤è¡£
¡¡CHKDSK¤«¤±¤¿¤é¡¢¤¤¤¯¤Ä¤«C¥É¥é¥¤¥Ö¤Î¥Õ¥¡¥¤¥ë¤¬¤Ö¤Ã¤È¤Ó¤Þ¤·¤¿¡£
¡¡¥¤¥Ù¥ó¥È¥í¥°¤ß¤¿¤é¡¢Á°²óµ¯Æ°¤Îʬ¤Ç¡¢1Éäδ֤ˤ¨¤é¤¤¿ô¤ÎNTFS¤Î·Ù¹ð¤¬½Ð¤Æ¤¿¡£µ×¡¹¤Ë¤ß¤¿¡£
¡¡¥¤¥Ù¥ó¥È¥í¥°¤ÇÄ´¤Ù¤Æ¤ß¤¿¤é¡¢thumbcache.dll¤Èthemeui.dll¡¢¤½¤·¤Æticft.rat¤È¤¤¤¦£³¤Ä¤¬²õ¤ì¤Æ¤Þ¤·¤¿¡£
¡¡¤È¤³¤í¤¬¡¢themeservice.dll¤Ï̵»ö¤Ê¤Î¤Ç¡¢Aero¤È¤«¤Ïư¤¤Þ¤¹¤·¡¢¸Ä¿ÍÀßÄê¤â³«¤¯¤Î¤Ç¤¹¤¬¡¢ÊÉ»æ¸õÊä¤Î
¡¡¥µ¥à¥Í¥¤¥ë¤¬½Ð¤Æ¤³¤Ê¤¯¤Ê¤Ã¤¿¤ó¤Ç¤¹¤è¤Í¡£
¡¡¥Í¥Ã¥È¤òÄ´¤Ù¤Æ¤¤¤¿¤é¡¢Windows7 64Bit¤Îthemeui.dll¤Ï¤¢¤Ã¤¿¤Î¤ÇÆþ¤ì¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¤À¤á¤Ç¤·¤¿¡£
¡¡¤Þ¤¡¡¢ÊÉ»æÀßÄê¤Ç¤Á¤ç¤Ã¤ÈÉÔÊØ¤Ê¤À¤±¤À¤Ã¤¿¤Î¤ÇÊüÃÖ¤·¤¿¤Î¤Ç¤¹¤¬¡¢¸å½Ò¤Î¥¹¥Þ¡¼¥È¥Õ¥©¥óÍÑÊÉ»æÊÑ´¹¥Ä¡¼¥ë¤òºî¤Ã¤Æ
¡¡Æ°ºî¸¡¾Ú¤ËPicture¥Õ¥©¥ë¥À¤ò³«¤¤¤¿¤é¡¦¡¦¡¦
¡¡¡¡¡¡(*Žß¦ØŽß)¤Ê¤¡¤Ê¤¡¡¢²èÁü²¿¤«¤Ê¤ó¤À¤«¤ï¤«¤ó¤Í¡¼¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¤Ê¤ó¤Ç¡©(Žß¦ØŽß*)
¡¡¡¡¡¡(*Žß¦ØŽß)¥µ¥à¥Í¥¤¥ë¤Ç¤Ê¤¤¤ó¤À¤ïޥޥޥɽ¼¨¤¹¤ëÀßÄê¤Ê¤Î¤Ë¡ª¡¡¡¡²¿¤«¤ä¤Ã¤¿¤í¡©(Žß¦ØŽß*)
¡¡¤Þ¤¡¡¢¤É¤¦¤ä¤é¸Ä¿ÍÀßÄê¤ÎÊɻ極¥à¥Í¥¤¥ë¤¬½Ð¤Æ¤Ê¤¤¤Î¤Ë´ØÏ¢¤·¤Æ¤¤¤ë¤ó¤À¤í¤¦¤Ê¡¼¤È»×¤Ã¤Æ¡¢ºÆ¤ÓÄ´ºº¤ò³«»Ï¡£
¡¡¤È¤ê¤¢¤¨¤º¡¢¾åµ¤ÎCHKDSK¤Ç¤Ö¤Ã¤È¤ó¤À³Æ¥Õ¥¡¥¤¥ë¤Ï¡¢¹¬¤¤¤È¤¤¤¦¤«¤Ê¤ó¤È¤¤¤¦¤«¡¢²Æ¤ËC¥É¥é¥¤¥Ö¤¬¤Õ¤Ã¤È¤Ó¤«¤±¤¿
¡¡ºÝ¤Ë¼è¤Ã¤¿¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥©¥ë¥À¤Ë¤¢¤Ã¤¿¤Î¤Ç¡¢£³¤Ä¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤ÆÉü¸µ¤µ¤»¤Ætheme¥µ¡¼¥Ó¥¹¤òºÆµ¯Æ°
¡¡¤·¤¿¤é¡¢Éü³è¤·¤Þ¤·¤¿¡£
¡¡¤Þ¤¡¡¢¤ª¤½¤é¤¯thumbcache.dll¤¬Ìµ¤¤¤«¤é¡¢¥µ¥à¥Í¥¤¥ë¤¬¸«¤¨¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¤À¤±¤À¤È¤Ï»×¤¦¤Î¤Ç¤¹¤¬¡£
¡¡¢¨¤½¡¼¤¤¤¨¤Ð¡¢½Ì¾®ÈǤǥµ¥à¥Í¥¤¥ë¤òɽ¼¨¤µ¤»¤Æ¤¤¤ë¤Î¤Ë¡¢thumbdb¤¬Ìµ¤¤¤È¤ª¤â¤Ã¤¿¤é¡¢Vista°Ê¹ß¡©¤Ç¥µ¥à
¡¡¡¡¥Í¥¤¥ë¤ÎÊݸÊýË¡Êѹ¹¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤ó¤Ç¤¹¤Í¡£
¡¡¡¡¤³¤ì¤Ï¤³¤ì¤ÇÌäÂ꤬¤¢¤ë¤é¤·¤¯¡¢°ìÄêḬ̂ʾ夿¤Þ¤ë¤È¥µ¥à¥Í¥¤¥ë¥Ç¡¼¥¿¤¬²õ¤ì¤ë¤Î¤Ç¥¯¥ê¡¼¥ó¥¢¥Ã¥×¤Î½Ì¾®É½¼¨¡©¤ò
¡¡¡¡ÁªÂò¤·¤Æ¾Ãµî¤·¤Æºî¤êľ¤µ¤Ê¤¤¤È¤À¤á¤È¤«¤¢¤ë¤é¤·¤¤¤Ç¤¹¤¬¡Ä
¡Ú¼êÈ´¤¡Û¥¹¥Þ¡¼¥È¥Õ¥©¥óÍÑÊÉ»æÊÑ´¹¥Ä¡¼¥ë
¡¡Twitter¤Ç¤Ä¤Ö¤ä¤¤¤¿¤Î¤¬¤³¤ì¡£
¡¡¥¹¥Þ¡¼¥È¥Õ¥©¥ó¤ÎÊÉ»æ¤Ã¤Æ¡¢²èÌ̲£¤Î£²ÇÜ¥µ¥¤¥º¡ß¹â¤µ(ÅùÇÜ)¤Ã¤Æ¤¤¤¦¥µ¥¤¥º¤Ê¤ó¤Ç¤¹¤è¤Í¡£
¡¡»ä¤Î¾ì¹ç¡¢Xperia aero¤Ï480x854¤Ê¤Î¤Ç¡¢960x854¤È¤¤¤¦¥µ¥¤¥º¤Ç¤¹¡£
¡¡¢¨Ã±¤Ë¥¢¥×¥ê¦¤Ç²£¥µ¥¤¥º¡ß£²ÇܤȤ¤¤¦É÷¤Ë½èÍý¤·¤Æ¤¤¤ë¤À¤±¤Ê¤Î¤Ç¡¢¥Õ¥£¡¼¥Á¥ã¡¼¥Õ¥©¥ó¤Î²£¥µ¥¤¥º¤ÎȾʬ¤ò
¡¡¡¡»ØÄꤷ¤Æ¤ä¤ì¤Ð¡¢¥Õ¥£¡¼¥Á¥ã¡¼¥Õ¥©¥óÍѤâºî¤ì¤Þ¤¹¡£
¡¡¤½¤·¤Æ¡¢¤³¤ÎÊÉ»æ¤ò¤Ä¤¯¤í¤¦¤È»×¤Ã¤¿¤éޤ¸µ²èÁü¤¬½ÄŤ«²£Ä¹¤Ç¤É¤Á¤é¤«¤Ë¹ç¤ï¤»¤Æ¤«¤é¤Ï¤ß½Ð¤¿¤È¤³¤í¤òÀÚ¤ê¼è¤ë¡¢
¡¡¤È¤¤¤¦´¶¤¸¤Ç³ÈÂç½Ì¾®¡¦¥È¥ê¥ß¥ó¥°¡¦¥Ý¥¸¥·¥ç¥Ë¥ó¥°¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤¤¤Á¤¤¤Á²èÁüÊÔ½¸¥½¥Õ¥È¤òµ¯Æ°¤¹¤ë
¡¡¤Î¤â¤á¤ó¤É¤¤¡£
¡¡¡Ä¤È¤¤¤¦Ìõ¤Ç¡¢´Êñ¤ËÊÑ´¹¤Ç¤¤ë¥Ä¡¼¥ë¤òºî¤Ã¤Æ¤ß¤¿Ìõ¤Ç¤¹¡£
¡¡Explorer¤«¤é²èÁü¥Õ¥¡¥¤¥ë(PNG,JPG,BMPÅùWindows¤¬É¸½à¤Ç¥µ¥Ý¡¼¥È¤·¤Æ¤ë¤Î¤ÏÆÉ¤á¤ë¤Ï¤º)¤òDrag&Drop¤Ç¥Ä¡¼¥ë¤Ë
¡¡Íî¤È¤¹¤È¡¢¥ê¥¹¥È¤ËÄɲ䵤ì¤Þ¤¹¡£
¡¡¥ê¥¹¥È¤òÁªÂò¤¹¤ë¤È²èÁü²½¤·¤Þ¤¹¤¬¡¢´ðËÜŪ¤Ë¤Ï²èÌÌÏÈÆâ¤Ë¼ý¤Þ¤ëÍѤ˽̾®¡¦³ÈÂ礷¤Æ¤¤¤Þ¤¹¡£
¡¡½ÄŤÀ¤Ã¤¿¤é²£¤¬ÉÔµ¤Ì£¤Ë¤Ê¤ê¤Þ¤¹¤¬¡£
¡¡¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤ÇûÊÕ¤òÏȤˤ¢¤ï¤»¤ë¤³¤È¤â¤Ç¤¤Æ¡¢¤³¤ì¤òÁªÂò¤¹¤ë¤È²èÁü¤¬ÏȤ«¤é¤Ï¤ß½Ð¤Þ¤¹¡£
¡¡½é´üÇÛÃ֤ǡ¢¾å/º¸´ó¤»¡¢Ãæ±ûÇÛÃÖ¡¢²¼/±¦´ó¤»¤È¤¤¤¦°ÌÃÖ¤ÎÀßÄê¤â²Äǽ¤Ç¤¹¡£
¡¡²èÁü¤Ï¥Þ¥¦¥¹º¸¥Ü¥¿¥ó¤Ç°Üư¤Ç¤¤Þ¤¹¤·¡¢¤³¤Î¾õÂÖ¤«¤é¤Î³ÈÂç½Ì¾®¤Ï¥Û¥¤¡¼¥ë¤Ç0.5%ñ°Ì¤ËÊѹ¹¤Ç¤¤Þ¤¹¡£
¡¡¤³¤ì¤é¤Îµ¡Ç½¤òÁȤ߹ç¤ï¤»¤ë¤È¡¢´Êñ¤ËÊÑ´¹¤Ç¤¤Á¤ã¤¦¡¦¡¦¡¦¤«¤â¤·¤ì¤Ê¤¤¡£
¡¡°ì±þ¼«Ê¬¤Ç»È¤Ã¤Æ²áÉÔ¤Ϥʤ¯¤Ê¤Ã¤¿¤Î¤Ç¡¢´ðËÜŪ¤Êµ¡Ç½¤Ï¤Ç¤¤¿¤«¤Ê¡¼¤È¡£
¡¡¤¢¤È¤Ï¡¢ºîÀ®¤·¤¿²èÁü¤ÎžÁ÷¤ÈÊÉ»æÀßÄê¤À¤±¤É¡¢¤³¤ì¤Ï¥¹¥Þ¡¼¥È¥Õ¥©¥ó¦¤Ç¤¬¤ó¤Ð¤Ã¤ÆÀßÄꤷ¤Æ¤Í¡ª¤Ã¤Æ¤³¤È¤Ç¡£
¡¡º£²ó¤Î¥Ä¡¼¥ë¤Ç¤Ï¡¢³ÈÂ硦½Ì¾®¤òåºÎï¤Ë¤ä¤ê¤¿¤¤¡ª¤È¤¤¤¦´ê˾¤¬¤¢¤ê¤Þ¤·¤¿¡£
¡¡¤Þ¤¡¡¢PC¤ÎÊÉ»æ¤Ï¡¢µ¯Æ°¤·¤Æ¤¤¤ë¥¢¥×¥ê¤òÁ´²èÌ̤ǻȤ¦´Ø·¸¾å¤É¤¦¤Ç¤â¤¤¤¤¤Î¤Ç¤¹¤¬¡¢¥¹¥Þ¡¼¥È¥Õ¥©¥ó¤Î¾ì¹ç¡¢²èÌÌ
¡¡¥í¥Ã¥¯²ò½ü¤ä¥Û¡¼¥à¤Ç¤ÏÊɻ椬¸«¤¨¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¤É¤¦¤»¤Ê¤éåºÎï¤Ë³ÈÂç½Ì¾®¤·¤¿¤«¤Ã¤¿¤Î¤Ç¤¹¡£
¡¡¤È¤³¤í¤¬¡¢GDI¤ÎStretchBlt()¤Î¾ì¹ç¡¢SetStretchBltMode( HALFTONE )¤ò¤ä¤Ã¤Æ¤â¡¢åºÎï¤Ë¤Ê¤é¤Ê¤¤¡£
¡¡¤Ê¤¼¤«HALFTONEÀßÄ꤬ʹ¤¤¤Æ¤¤¤Ê¤¤´¶¤¸¤¬¤·¤Þ¤·¤¿¤¬¡£
¡¡¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤òõ¤·¤¿¤È¤³¤í¡¢GDI+¤ÎDrawImage¤ò»È¤¦¤ÈåºÎï¤Ë¤¤¤±¤ë¤è¡¢¤È¤¤¤¦µ»ö¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢¥Á¥ã¥ì¥ó¥¸
¡¡¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡¡GDI+¤ò»È¤¦¤Ë¤Ï½é´ü²½¤È¸å»ÏËö¤¬É¬ÍפʤΤǡ¢¥À¥¤¥¢¥í¥°¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇºîÀ®¤µ¤ì¤ë¥á¥¤¥ó¥À¥¤¥¢¥í¥°¥¦¥£¥ó¥É¥¦
¡¡¤ÎÀ¸À®Á°¤ËStartup¤ò¡¢DoModal()¤Î¸å¤ËCleanup¤òÆþ¤ì¤Þ¤·¤¿¡£
¡¡¤½¤·¤Æ¡¢CImage¤Ç»ØÄê²èÁü¤òÆÉ¤ß¹þ¤ó¤Ç¤½¤ì¤ò¥Æ¥ó¥Ý¥é¥ê¤ÎCBitmap/CDC¥Ú¥¢¤ËžÁ÷¤·¡¢¥Æ¥ó¥Ý¥é¥ê¤Î
¡¡CBitmap¥Ï¥ó¥É¥ë¤«¤éGdiplus::Bitmap¤ØÊÑ´¹¤·¡¢¤³¤ì¤òGraphic::DrawImage¤·¤Æ¤ä¤Ã¤¿¤é¡¢åºÎï¤Ë³ÈÂç½Ì¾®
¡¡¤¬¤Ç¤¤Þ¤·¤¿¡£¤¤¤ä¤Þ¤¸¤ÇåºÎï¤À¡£
¡¡(ÀìÌç²È¤«¤é¤¹¤ê¤ãÂ礷¤ÆåºÎï¤Ç¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡¢ÉáÄ̤˸«¤ëʬ¤Ë¤ÏåºÎï¤À¤è¡ª)
¡¡¤³¤³¤ÇStretchBlt¤ÈDrawImage¤ÎÈæ³Ó²èÁü¤¬¤Ç¤Æ¤¯¤ê¤ãºÇ¹â¤Ê¤ó¤À¤í¤¦¤±¤É¡¢¤½¤ó¤Ê¤â¤Îºî¤ë¤Ä¤â¤ê¤Ï¤Í¡¼¡ª
¡¡¡¡(*Žß¦ØŽß)¼êÈ´¤¡©¡¡¡¡¤¿¤ÀÌÌÅݤ¯¤µ¤¬¤Ã¤Æ¤ë¤À¤±(Žß¦ØŽß*)ÅöÁ³Ž¼ŽÞެŽÝ
¡¡¤Þ¤¡¡¢ºÇ½é¤Ï¡¢CImage¤Î²èÁü¤ò¥Æ¥ó¥Ý¥é¥ê¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Æ¡¢¤½¤ì¤òImage::FromFile¤ÇÆÉ¤ß¹þ¤ó¤Ç
¡¡DrawImage¤Ç³ÈÂç½Ì¾®¡¢¤Ê¤ó¤Æ¤¤¤¦¤³¤È¤ò¤ä¤Ã¤Æ¤¿¤ê¤·¤Þ¤·¤¿¤¬¡¢GDI+¤Î¥Ø¥Ã¥À¸«¤Æ¤ß¤¿¤é¡¢Bitmap¤Ã¤Æ
¡¡CBitmap¤«¤éľÀܺî¤ì¤ë¤·¡¢Bitmap¼«ÂΤ¬Image¤ò·Ñ¾µ¤·¤Æ¤ë¤¸¤ã¤Ê¤¤¤Ç¤¹¤«¡£
¡¡¤À¤Ã¤¿¤é¡¢DrawImage¤ÎÂè°ì¥Ñ¥é¥á¡¼¥¿(Image¤òÅϤ¹)¤Ë»È¤¨¤ë¤ó¤¸¤ã¤Í¡©¤È»×¤Ã¤ÆBitmap::FromHBITMAP
¡¡¤Ç²èÁü¤òBitmap¥¯¥é¥¹¤Ë³ÊǼ¤·¤Æ¤ä¤Ã¤Æ¤ß¤¿¤é¡¢Æ°¤¯¤«¤é½õ¤«¤Ã¤¿¡£
¡¡IStream·Ðͳ¤ÇImageºî¤é¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤Î¤«¡©¤È¤«»×¤Ã¤Æ¤¿¤Î¤Ç¡Ä¡¡(GlobalAlloc¤·¤Æ¤¦¤ó¤Ì¤ó¤Ï¤á¤ód(ry¡¡)
¡¡¤¨¤é¤¤¼êÈ´¤¤ÎÊýË¡¤¬¤¢¤Ã¤¿¤â¤ó¤À¡£
¡¡¤¢¡¢¤½¤¦¤½¤¦¡£Bitmap::FromHBITMAP()¤ÎÂ裲¥Ñ¥é¥á¡¼¥¿¤ÎHPALETTE¤Ï¡¢¥Õ¥ë¥«¥é¡¼Bitmap»È¤Ã¤Æ¤ë¤Ê¤é¤Ð
¡¡NULL¤ÇÎɤ¤¤ß¤¿¤¤¤Ç¤¹¡£
¡¡HPALETTE¤Ê¤ó¤ÆCBitmap¤Ç¼è¤ì¤Ê¤¤¤Ã¤Ý¤«¤Ã¤¿¤Î¤Ç¡¢¤ä¤±¤¯¤½¤®¤ß¤ËNULLÀßÄꤷ¤¿¤éư¤¤¤¿¤Î¤Ç¤¹¤è¡£
¡¡¤Þ¤¡¡¢¤ä¤Ã¤Æ¤ß¤ë¤â¤ó¤Ç¤¹¤Ê¤¡¡£
¡¡¢¨¤É¤¦¤·¤Æ¤â¥Ñ¥ì¥Ã¥È¤¬É¬ÍפȤʤë¾ì¹ç(High¥«¥é¡¼¤È¤«¤Î²èÁü)¤Ï¡¢CBitmap::GetObject¤Ç¼èÆÀ¤¹¤ë(¤Ç¤¤¿
¡¡¡¡¤Ã¤±¤«¤Ê¡Ä¡©)¤«¡¢24¥Ó¥Ã¥ÈBitmap¤òºî¤Ã¤Æ¤½¤³¤ËBitBlt¤·¤Æ¤ä¤ì¤Ð¥Õ¥ë¥«¥é¡¼²èÁüÊÑ´¹¤Ç¤¤Þ¤¹¤«¤é¡¢
¡¡¡¡¤½¤ì¤ÇGdiplus::Bitmap::FromHBITMAP¤¹¤ì¤Ð¤¤¤±¤ë¤È»×¤ï¤ì¤Þ¤¹¡£
¡¡¡¡(°Õ¼±¤·¤Æ¤ä¤Ã¤Æ¤Ê¤¤¤±¤É¡¢¤³¤Î¥Ä¡¼¥ë¤Ç¤ÏCImage¢ªCBitmap/CDC¥Ú¥¢¤ØBitBlt()¤·¤Æ¤ë¤Î¤Ç¡¢¤Ç¤¤ë¤«¤â
¡¡¡¡ ¤·¤ì¤Ê¤¤¡©)
ºÇ¶á¤Ï¡¢¤³¤ó¤Ê´¶¤¸¤Ç¤¹¤«¤Í¤§¡£
(*Žß¦ØŽß)ŽÉ ¤½¤¦¤½¤¦¡¢AC6¤Î¥Õ¥é¥¤¥È¥¿¥¤¥à¤¬432»þ´Ö¹Ô¤Ã¤¿¤è¡ª¡¡¡¡Mission¿ô15¤·¤«¤Ê¤¤¤Î¤Ë˰¤¤Ê¤¤¤Í¤§(Žß¦ØŽß*)
Åê¹ÆÆü¡§2011-10-19 Wed
µ×¡¹¤ËMFC½ñ¤½ñ¤¡£ºÇ¶á¡¢¤è¤¯MFC¤Î¥¦¥£¥ó¥É¥¦¥¯¥é¥¹(CDialog¤¬¥á¥¤¥ó¤À¤±¤É)¤Ç¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤ò
»È¤¦¤Î¤Ç¡¢¥á¥âÂå¤ï¤ê¤Ë½ñ¤¤¤Æ¤ª¤³¤¦¡£
¡¦¥¦¥£¥ó¥É¥¦(¥¯¥é¥¹)¤Ë½ê°¤¹¤ë¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤Î¼êÈ´¤¥á¥ó¥Ð¥¢¥¯¥»¥¹
¡¡¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤Ï¡¢staticÀë¸À¤¹¤ë¤Î¤Ç¤½¤Î¤Þ¤Þ¤Ç¤Ï¥¯¥é¥¹¥á¥ó¥Ð¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¡£
¡¡´Êñ¤Ë¸À¤¦¤È¡¢this¥Ý¥¤¥ó¥¿¤¬Ìµ¤¤¡£
¡¡¥¹¥ì¥Ã¥É¥Ñ¥é¥á¡¼¥¿¤Çthis¤òÅϤ·¤Æ¡¢»²¾È¥Ý¥¤¥ó¥¿¤òÉÕ¤±¤ì¤Ð¥¢¥¯¥»¥¹¤Ç¤¤ë¤Î¤À¤¬¡¢
¡¡¤µ¤¹¤¬¤ËÌÌÅÝ¡£
¡¡ºÇ¶á¤Ï¡¢¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤«¤é¸Æ¤Ð¤ì¤ë½èÍý¤òÄɲ䷤ơ¢¤½¤³¤ÎÃæ¤Ë¥á¥¤¥ó¤Î½èÍý¤ò½ñ¤¤¤Æ¤¤¤ë¡£
¡¡
¡¡class CWorkerTestDlg : public CDialog
¡¡{
¡¡public:
¡¡¡¡¡¡CWorkerTestDlg();
¡¡¡¡¡¡virtual ~CWorkerTestDlg();
¡¡protected:
¡¡¡¡¡¡virtual BOOL OnInitDialog();
¡¡¡¡¡¡afx_msg void OnDestroy();
¡¡¡¡¡¡afx_msg void OnPaint();
¡¡¡¡¡¡afx_msg void OnTimer( UINT_PTR nIDEvent );
¡¡private:
¡¡¡¡¡¡BOOL m_fAbortThread;
¡¡¡¡¡¡CWinThread* m_thWorkerThread;
¡¡¡¡¡¡UINT WorkerExecute();
¡¡¡¡¡¡static UINT WorkerThread( void* pParam );
¡¡¡¡¡¡BOOL BeginWorkerThread();
¡¡};
¡¡UINT CWorkerTestDlg::WorkerExecute()
¡¡{
¡¡¡¡¡¡while( m_fAbortThread == FALSE ){
¡¡¡¡¡¡¡¡¡¡½èÍý¤´¤Ë¤ç¤´¤Ë¤ç
¡¡¡¡¡¡}
¡¡¡¡¡¡return( 0 );
¡¡}
¡¡UINT CWorkerTestDlg::WorkerThread( void* pParam )
¡¡{
¡¡¡¡¡¡CWorkerTestDlg* pDlg = (CWorkerTestDlg *)pParam;
¡¡¡¡¡¡UINT uiResult = pDlg->WorkerExecute();
¡¡¡¡¡¡pDlg->m_thWorkerThread = NULL;
¡¡¡¡¡¡return( uiResult );
¡¡}
¡¡BOOL CWorkerTestDlg::BeginThread()
¡¡{
¡¡¡¡¡¡m_fAbortThread = FALSE;
¡¡¡¡¡¡m_thWorkerThread = AfxBeginThread( WorkerThread, this );
¡¡¡¡¡¡return( m_thWorkerThread != NULL ? TRUE : FALSE );
¡¡}
¡¡¾åµ½èÍý¤Ç¤Ï¡¢¡ÖWorkerExecute()¡×¤¬¡¢¼êÈ´¤¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¡£
¡¡½èÍý¼«ÂΤϡ¢WorkerThread()¤Î¥¿¥¤¥à¥¹¥é¥¤¥¹¤Çư¤¤¤Æ¤ë¤±¤É¡¢¡ÖpDlg->WorkerExecute()¡×
¡¡¤È¤·¤Æ¤¤¤ë°Ù¡¢WorkerExecute()¤Ïthis¥Ý¥¤¥ó¥¿¤¬¤¢¤ê¡¢WorkerThread()¤ÎpDlg¥Ý¥¤¥ó¥¿¤¬¡¢
¡¡WorkerExecute()¤Ç¤Ïthis¥Ý¥¤¥ó¥¿¤È¤Ê¤ë¡£
¡¡¤³¤Îµ½Ò¤ò¤·»Ï¤á¤Æ¤«¤é¡¢Âçʬ³Ú¤Ë¤Ê¤Ã¤¿µ¤¤â¤¹¤ë¤¬¡¢¤É¤¦¤Ê¤ó¤À¤í¤¦¤Ê¤¡¡Ä¡©
¡¡¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤Îµ¯Æ°¤Ï¡¢¾å¤ÎBeginThread()¤ò¸Æ¤Ö¡£
¡¡¤Þ¤¡¡¢¤³¤ó¤Ê´¶¤¸¤Çµ¯Æ°¤¹¤ë¤è¡¢¤È¤¤¤¦¤À¤±¡£
¡¦¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤ÎÃæÃǤȴƻëÊýË¡
¡¡VB6¤Îº¢¤Ï¡¢¥Ü¥¿¥ó¤ò²¡¤¹¤È¤«¡¢¥¦¥£¥ó¥É¥¦¤¬°Üư¤¹¤ë¤È¤«¤Î¥¤¥Ù¥ó¥È½èÍý¤Ï¡¢Â¾¤Î¥¤¥Ù¥ó¥È¤È
¡¡ÇÓ¾Ū¤Ëư¤¤¤Æ¤¤¤¿¤ó¤À¤è¤Í¡£
¡¡¤³¤ÎÅÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢MFC¤âÊѤï¤é¤Ê¤¤¡£
¡¡¥¤¥Ù¥ó¥È¤Ç½èÍý¤·¤Æ¤¤¤ì¤Ð¡¢Â¾¤Î¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤Æ¤â¡¢¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤ËÆþ¤Ã¤Æ½èÍýÂÔ¤Á¤Ë
¡¡¤Ê¤ë¤À¤±¡£
¡¡ºÇ¶á¡¢¥ê¥¹¥È¥Ü¥Ã¥¯¥¹¤ò»È¤Ã¤ÆÆ°ºî¥í¥°¤òɽ¼¨¤¹¤ë¤ó¤À¤±¤É¡¢¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤Î½ªÎ»»Ø¼¨¤ò
¡¡¥Ü¥¿¥ó¤Ç¹Ô¤¤¡¢¤½¤ÎÃæ¤Ç¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤â»²¾È¤¹¤ë½ªÎ»¥Õ¥é¥°¤òTRUE¤Ë¤·¤Æ¥¿¥¤¥à¥¢¥¦¥È¤ò
¡¡ÂԤĽèÍý¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢¡ÖÃæÃǤ·¤Æ¤¤¤Þ¤¹¡×¡ÖÃæÃǤ¬¼ºÇÔ¤·¤Þ¤·¤¿¡×¤Ã¤Æ¸À¤¦¤Î¤ò¥í¥°¤Ë½Ð¤½¤¦¤È
¡¡¤¹¤ë¤È¡¢É½¼¨¤¬Á´¤Æ½ªÎ»¤·¤¿¸å¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤Î¤è¡£
¡¡¤Ê¤ó¤Ç¤À¤í¤¦¤Ê¤¡¤È»×¤Ã¤¿¤é¡¢¤´¤¯¤´¤¯Åö¤¿¤êÁ°¤À¤Ã¤¿¤ê¡£
¡¡¥Ü¥¿¥ó¥¤¥Ù¥ó¥È¤ÇÃæÃǥե饰¤òTRUE¤Ë¤·¤Æ¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤Î½ªÎ»¤òÂԤäƤ¤¤ë¤ï¤±¤À¤«¤é¡¢
¡¡¤½¤³¤Ëưºî¥í¥°¤Ë¥á¥Ã¥»¡¼¥¸¤òÄɲ䷤Ƥ⡢¥Ü¥¿¥ó½èÍý¤¬½ª¤ï¤ë¤Þ¤Ç¤ÏºÆÉÁ²è¤¬¹Ô¤ï¤ì¤Ê¤¤¡£
¡¡¤¹¤Ç¤Ë¥¤¥Ù¥ó¥È½èÍýÃæ¤ÊÌõ¤À¤·¤Í¤§¡£
¡¡¤·¤ç¤¦¤¬¤Ê¤¤¤Î¤Ç¡¢¤¤¤º¤ì¤«¤ÎÊýË¡¤ò¼è¤ë¡£
¡¡1) ¥¿¥¤¥Þ¤Ç´Æ»ë
¡¡¡¡¡¡ÃæÃǥե饰¤òTRUE¤Ë¤·¤¿¸å¤Ç¡¢SetTimer()¤Ç100¥ß¥êÉÃÄøÅ٤μþ´ü¤Ç½ªÎ»¤ò´Æ»ë¤¹¤ë¡£
¡¡¡¡¡¡¤³¤ì¤À¤È¡¢¥Ü¥¿¥ó¤ò²¡¤·¤Æ¥Õ¥é¥°¥»¥Ã¥È¡¢SetTimer()¤·¤¿¸å¤Ï½èÍý¤ò½ªÎ»¤Ç¤¤ë¤Î¤Ç¡¢
¡¡¡¡¡¡¥ê¥¹¥È¥Ü¥Ã¥¯¥¹¤ÎºÆÉÁ²è¤¬¹Ô¤ï¤ì¤ë¡£¤³¤ì¤Ï¤è¤¯»È¤¦¡£
¡¡¡¡¡¡·çÅÀ¤È¤·¤Æ¡¢ÌÌÅÝ¡£OnTimer()¤Ë½èÍý¤«¤«¤Ê¤¤ã¤¤¤±¤Ê¤¤¤·¡¢¥¿¥¤¥à¥¢¥¦¥È¤ò´Æ»ë¤¹¤ë
¡¡¡¡¡¡¥«¥¦¥ó¥¿¤Ä¤±¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤·¡£
¡¡2) ¥ê¥¹¥È¥Ü¥Ã¥¯¥¹¤ØÊ¸»ú¤òÄɲä·¤¿¤é¡¢RedrawWindow()
¡¡¡¡¡¡°ìÈÖ³Ú¡£
¡¡¡¡¡¡¥ê¥¹¥È¥Ü¥Ã¥¯¥¹¤Ø¤ÎÄɲäϴؿô²½¤·¤Æ¤¢¤Ã¤Æ¡¢Äɲøå5120¹Ô¤ò±Û¤¨¤¿¤é¡¢¸Å¤¤¹Ô¤«¤é
¡¡¡¡¡¡¾Ã¤·¤Æ¤¤¤Ã¤Æ5120¤ËÊݤÁ(5120¤ÏŬÅö)¡¢ºÇ¸å¤ËSetTopIndex()¤ÇºÇ¸å¤Î¹Ô¤òɽ¼¨ÈϰϤË
¡¡¡¡¡¡Æþ¤ëÍͤ˥¹¥¯¥í¡¼¥ë¤µ¤»¤Æ¤¤¤ë¡£
¡¡¡¡¡¡¤³¤³¤ËRedrawWindow()¤òÆþ¤ì¤ì¤ÐÎɤ¤¡£
¡¡¡¡¡¡·çÅÀ¤È¤·¤Æ¡¢¾ï¤ËRedrawWindow()¤¬¹Ô¤ï¤ì¤ë¤Î¤Ç¡¢¥ê¥¹¥È¥Ü¥Ã¥¯¥¹¤¬Â¿½Å¹¹¿·¤µ¤ì¤ë
¡¡¡¡¡¡¥¿¥¤¥ß¥ó¥°¤â¤¢¤ë¤È¤¤¤¦´¶¤¸¡£
¡¡¡¡¡¡½èÍý»þ´Ö¤¬¥·¥Ó¥¢¤Ë¤Ê¤ë¤È¡¢¤â¤Ã¤¿¤¤¤Ê¤¤½èÍý»þ´Ö¤È¤Ê¤ë¡Ä¤«¤â¡©
¡¦¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤Î½ªÎ»¤È½ªÎ»´Æ»ë
¡¡¤½¤ó¤Ê¤ËÆñ¤·¤¯¤Ï¤Ê¤¤¤Î¤À¤¬¡¢¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤â¸«¤ë¡¢½é´üÃÍFALSE¤ÎBOOLÊÑ¿ô¤ò¥¯¥é¥¹¤Ë
¡¡Äɲ䷤Ƥª¤¤¤Æ¡¢¥Ü¥¿¥ó¤¬²¡¤µ¤ì¤¿¤é¤³¤Î¥Õ¥é¥°¤òTRUE¤Ë¤¹¤ë¤À¤±¡£
¡¡¤¢¤È¤Ï¡¢¥¤¥ó¥ë¡¼¥×¤·¤Ê¤¤Íͤ˥롼¥×¤µ¤»¤ë¤«¡¢¥¿¥¤¥Þ¤Ç´Æ»ë¤¹¤ë¤«¡£
¡¡´Êñ¤Ê½èÍý¤À¤È¡¢¤³¤ó¤Ê´¶¤¸¡£
¡¡//½ªÎ»¥Ü¥¿¥ó½èÍý
¡¡void CWorkerTestDlg::OnButtonclicked1()
¡¡{
¡¡¡¡¡¡//½ªÎ»Í×µáON
¡¡¡¡¡¡m_fAbortThread = TRUE;
¡¡¡¡¡¡//½ªÎ»ÂÔ¤Á¡£¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤¬½ªÎ»¤¹¤ë¤«¡¢Ìó3É÷вá¤Ç¥¿¥¤¥à¥¢¥¦¥È¤·¤ÆÈ´¤±¤ë
¡¡¡¡¡¡for( int nTimeout=0; (nTimeout<3000) && (m_thWorkerThread != NULL); nTimeout+=100 ){
¡¡¡¡¡¡¡¡¡¡Sleep( 100 );
¡¡¡¡¡¡}
¡¡¡¡¡¡//½ªÎ»Í×µáOFF
¡¡¡¡¡¡m_fAbortThread = FALSE;
¡¡¡¡¡¡//½ªÎ»·ë²Ì³Îǧ
¡¡¡¡¡¡if( m_thWorkerThread == NULL ){
¡¡¡¡¡¡¡¡¡¡//½ªÎ»À®¸ù
¡¡¡¡¡¡} else {
¡¡¡¡¡¡¡¡¡¡//½ªÎ»¼ºÇÔ
¡¡¡¡¡¡}
¡¡}
¡¡¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¦¤Î¥³¡¼¥É¤Ï¡¢°ìÈÖ¾å¤Ë¤¢¤ë¥³¡¼¥É»²¾È¡£
¡¡¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤Ç¤Ï¡¢¥ë¡¼¥×¤ÎƬ¤äÅÓÃæ¤Ç¡¢É¬¤ºm_fAbortThread==FALSE¤Ç¤¢¤ë¤³¤È¤ò´Æ»ë¡£
¡¡¤³¤ì¤¬TRUE¤Ë¤Ê¤Ã¤¿¤é¡¢¥ë¡¼¥×¤òÁ´¤Æ½ªÎ»(break)¤µ¤»¤Æ¡¢½ªÎ»¤µ¤»¤ë¡£
¡¡½ªÎ»¤µ¤»¤ëºÝ¡¢AfxBeginThread()¤ÎÊÖ¤¹¥Ý¥¤¥ó¥¿¤òµ²±¤·¤Æ¤¤¤ë¡¢m_thWorkerThread¤ËNULL¤ò
¡¡¥»¥Ã¥È¤·¤Æ½ªÎ»¤¹¤ë¤³¤È¤ò˺¤ì¤Ê¤¤Íͤˤ¹¤ë¡£
¡¡¥Õ¥é¥°¤Ç½ªÎ»»Ø¼¨¤ò½Ð¤·¤Æ¡¢ËÜÅö¤Ë½ªÎ»¤·¤¿¤«¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢CWinThread¥Ý¥¤¥ó¥¿¤ò¾Ã¤¹¡¢
¡¡½ªÎ»Â¦¤Ï¤³¤ì¤¬NULL¤Ë¤Ê¤ë¤Î¤ò³Îǧ¤¹¤ë¡¢¤È¤¤¤¦¥Ï¥ó¥É¥·¥§¡¼¥¯¤Ç½ªÎ»¤µ¤»¤ë¡£
¡¡¤³¤ì¤¬°ìÈÖ¥·¥ó¥×¥ë¤Ê´¶¤¸¤¬¤¹¤ë¡£
¡¡¤¤¤¯¤é¤Ê¤ó¤Ç¤â¡¢TerminateThread()¤Ï¤·¤Ê¤¤¤è¡ª
¡¡¡ÄÆÃ¼ì¤Ê»ö¾ð¤¬¤¢¤Ã¤Æ¡¢¥¿¥¤¥à¥¢¥¦¥È¤·¤¿¤Ê¤é¤ÐÊ̤À¤±¤É¡£
¡¡ÇÉÀ¸¤È¤·¤Æ¡¢¥¹¥ì¥Ã¥É¥é¥¹¥È¤Ç½ªÎ»¥Õ¥é¥°¤òFALSE¤Ë¤¹¤ë¤È¤¤¤¦¼ê¤â¤¢¤Ã¤Æ¡¢nTimeout¤Î¥ë¡¼¥×
¡¡¤Ç¤Ï¡¢¥Ý¥¤¥ó¥¿¤Ç¤Ê¤¯¤Æ½ªÎ»¥Õ¥é¥°¤¬TRUE¤Ç¤Ê¤¯¤Ê¤Ã¤¿¤³¤È¤ò´Æ»ë¤¹¤ì¤Ð¡¢Æ±ÍͤΤ³¤È¤¬
¡¡²Äǽ¤È¤Ê¤ë¡£
¡¡¤¿¤À¤·¡¢½ªÎ»¥Õ¥é¥°¤¬Íî¤Á¤ë¤Î¤ò´Æ»ë¤¹¤ë¤Î¤Ç¡¢¤Á¤ç¤¤¤È¸å½èÍý¤¬¿´Çۤˤʤ롣
¡¡(°ì±þ¡¢for()¦¤Î½èÍý¤ÎºÇ¸å¤Ë¤Ç¤â¡¢½ªÎ»¥Õ¥é¥°¤ò¾ï¤ËFALSE¤Ë¤¹¤ì¤Ð¤¤¤¤¤ó¤À¤±¤É¡Ä)
¥ï¡¼¥«¡¼¥¹¥ì¥Ã¥É¤ò½ñ¤¯ºÝ¤Ë¡¢¿¿¤ÃÀè¤Ë½ñ¤¤¤Æ¤ª¤¯¤Î¤Ï¡¢¤³¤ó¤Ê½ê¤«¤Ê¤¡¡£
¤¤¤í¤ó¤Ê¼êÃʤò¤ä¤Ã¤Æ¤¤¿¤±¤É¡¢ºÇ¶áµ½Ò¤¹¤ë¤³¤Î¥³¡¼¥É¤¬¡¢°ìÈÖ¤¢¤Ã¤Æ¤¤¤ëµ¤¤¬¤¹¤ë¡£
|¦ØŽß)ŽÉ ¼êÈ´¤ËüºÐ¡ª¡¡¡¡¤Ç¤â¤ª¤¤¤éã¤ÎÎÁÍý¤Ï¼ê¤òÈ´¤¯¤Ê¤è¡ª(Žß¦ØŽß*)ŽÅ?
Åê¹ÆÆü¡§2011-10-07 Fri
¤¿¤Þ¤Ë¤Ï¹¹¿·¤·¤è¤¦¤«¤Í¤§¡£º£¤Î¥¥ã¥é¡¢HW50%¡¢½¤Íå2¹æµ¡(¥¹¥¿¥ó¥À¡¼¥É¥«¥é¡¼)30%¡¢
½¤Íå½é¹æµ¡(»ç¥«¥é¡¼)20%°Ì¤Çư¤«¤·¤Æ¤ë¡£
HW¤Ï¸å150%°Ì¤Çž¿¦¤À¤Ã¤¿¤Ã¤±¤«¤Ê¡©¤È»×¤Ã¤ÆSNS¤ò
¸«¤Ë¹Ô¤Ã¤¿¤é¡¢¼¡¤Î¥ì¥Ù¥ë¥¢¥Ã¥×¤ËɬÍפÊEXP¤·¤«¤Ê¤¤www
¸å139MɬÍפÀ¤Ã¤Æ¤µ¡ª¡Ä¥À¥ê¤¤www
¸½ºß¡¢Base95¡¢Job68¡£
º£°é¤Æ¤¿¤¤¤Î¤Ï½¤Íå2¹æµ¡¡£
¤³¤¤¤Ä¤Ï¡¢Äà¤ê¤Î°Ù¤ËVIT¤â¤ê¤â¤ê¥¿¥¤¥×¡£
¤ä¤Ã¤ÈÁǤÇ70¹Ô¤Ã¤Æ¡¢MHP¤¬10k±Û¤¨¤¿¡£
¥Î¡¼¥°¤ÎÄà¤ê¤Ê¤é¡¢³è¤«¤±¤¿¾õÂÖ¤ÇÈïÃÆ¥À¥á¤¬£±¤Ë¤Ê¤ë¡£
¤Þ¤¡¡¢2¡Á3ɤ¤Þ¤Ç¤À¤±¤É¡ª
Äà¤ê¤¬¼ºÇÔ¤¹¤ë¤Î¤Ï¡¢¼ç¤Ë¥é¥°¡£¿ÌºÒ°Ê¹ß¡¢¤À¤¤¤Ö¥é¥°¤ë¡£
¥é¥°¤¬½ª¤ï¤Ã¤¿¤é¡¢¥Ü¥³¤é¤ì¤ÆÃ¦½Ð¤Ç¤¤Ê¤¤¤È޵ŽÜŽÀ¡Ä
¸½ºß¡¢Base96¡¢Job¡Ä30¤Ï²á¤®¤¿¤è¤¦¤Êµ¤¤¬¤¹¤ë(¤§
½¤Íå½é¹æµ¡¤¬Æ°¤¯¤Î¤Ï¡¢ÂçÂΥѥå·¥Ö¼ûÍפ«¡¢¥Æ¥ó¥×¥é¤ò
»È¤¦¾ì¹ç¤À¤Í¡£
¥ª¥Ç¥ó¤È¤«¡¢Ãª¤Î²ÐÎϤˤʤ俾ì¹ç¤Ë½Ð¤Æ¤¤¤¯¡£
¸½ºß¡¢Base101¡¢Job36¡£
Í£°ì¤Ä¤Î100±Û¤¨¡£ASPD190¥ª¡¼¥Ð¡¼¹Ô¤±¤ë¡ª¤È»×¤Ã¤¿¤¬¡¢
¤³¤¤¤ÄÂѵ×Åپ夲¤ë¤¿¤á¤Ë¡¢Agiºï¤Ã¤Æ¤Æ¡¢¹Ô¤±¤Ê¤¤¾õÂÖ¡£
޼ޮŽÎŽÞްŽÝ¡Ä
(*Žß¦ØŽß)ŽÉ ¤¦¤Ê¤Á¤ç¤¦¡©ÂÆÌ²ìŤäƤë¤è¡©
¼¡¤Î¥Ú¡¼¥¸
¢¤ PAGE UP
