﻿<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.player.idv.tw/prog/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-tw">
		<id>http://www.player.idv.tw/prog/index.php?title=%E7%89%B9%E6%AE%8A:%E8%BF%91%E6%9C%9F%E8%AE%8A%E5%8B%95&amp;feed=atom</id>
		<title>ProgWiki  - 近期變動 [zh-tw]</title>
		<link rel="self" type="application/atom+xml" href="http://www.player.idv.tw/prog/index.php?title=%E7%89%B9%E6%AE%8A:%E8%BF%91%E6%9C%9F%E8%AE%8A%E5%8B%95&amp;feed=atom"/>
		<link rel="alternate" type="text/html" href="http://www.player.idv.tw/prog/index.php/%E7%89%B9%E6%AE%8A:%E8%BF%91%E6%9C%9F%E8%AE%8A%E5%8B%95"/>
		<updated>2012-05-20T03:40:26Z</updated>
		<subtitle>跟蹤此訂閱在 wiki 上的近期變動。</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>http://www.player.idv.tw/prog/index.php?title=Screen_Capture&amp;diff=8493&amp;oldid=prev</id>
		<title>Screen Capture</title>
		<link rel="alternate" type="text/html" href="http://www.player.idv.tw/prog/index.php?title=Screen_Capture&amp;diff=8493&amp;oldid=prev"/>
				<updated>2012-05-17T10:27:45Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;GDI: &lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Screen Capture'''（抓圖）&lt;br /&gt;
&lt;br /&gt;
==抓圖方式==&lt;br /&gt;
===GDI===&lt;br /&gt;
*以[[MFC]]方式，抓圖到&lt;br /&gt;
:[http://www.codeproject.com/Articles/3603/Classes-to-read-and-write-BMP-JPEG-and-JPEG-2000 TonyJpegLib]的CDib m_dib;&lt;br /&gt;
:以方便存成不同格式的圖檔&lt;br /&gt;
:（仍有bug，如果抓圖的寬度不為4的倍數時發生）&lt;br /&gt;
*[http://www.player.idv.tw/file/tool/screenshot.rar screenshot.rar]（完整SourceCode）&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void CCaptureDlg::CaptureBmp(void)&lt;br /&gt;
{&lt;br /&gt;
	LPCTSTR lpszDrawDeviceName = &amp;quot;DISPLAY&amp;quot;;&lt;br /&gt;
	CDC dc;&lt;br /&gt;
	int Width;&lt;br /&gt;
	int Height;&lt;br /&gt;
	RECT  WndRect;&lt;br /&gt;
&lt;br /&gt;
	//全螢幕&lt;br /&gt;
	dc.CreateDC(lpszDrawDeviceName, NULL, NULL, NULL);&lt;br /&gt;
	Width = GetSystemMetrics(SM_CXSCREEN);&lt;br /&gt;
	Height = GetSystemMetrics(SM_CYSCREEN);&lt;br /&gt;
&lt;br /&gt;
	if (::GetKeyState(VK_SCROLL) == NULL)&lt;br /&gt;
	{&lt;br /&gt;
		WndRect.top = 0;&lt;br /&gt;
		WndRect.bottom = Height;&lt;br /&gt;
		WndRect.left = 0;&lt;br /&gt;
		WndRect.right = Width;&lt;br /&gt;
	}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		//視窗&lt;br /&gt;
		CWnd* pWnd = GetForegroundWindow();&lt;br /&gt;
		pWnd-&amp;gt;GetWindowRect(&amp;amp;WndRect);&lt;br /&gt;
&lt;br /&gt;
		if (WndRect.right &amp;lt; 0)&lt;br /&gt;
			WndRect.right = 0;&lt;br /&gt;
		if (WndRect.left &amp;gt; Width)&lt;br /&gt;
			WndRect.left = Width;&lt;br /&gt;
		if (WndRect.top &amp;lt; 0)&lt;br /&gt;
			WndRect.top = 0;&lt;br /&gt;
		if (WndRect.bottom &amp;gt; Height)&lt;br /&gt;
			WndRect.bottom = Height;&lt;br /&gt;
&lt;br /&gt;
		Width = (WndRect.right - WndRect.left);&lt;br /&gt;
		if ((Width % 4) != 0)&lt;br /&gt;
			Width = ((Width &amp;gt;&amp;gt; 2)+1) &amp;lt;&amp;lt; 2;&lt;br /&gt;
		if (Width &amp;gt; GetSystemMetrics(SM_CXSCREEN))&lt;br /&gt;
			Width = GetSystemMetrics(SM_CXSCREEN);&lt;br /&gt;
		Height = WndRect.bottom - WndRect.top;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	CBitmap bm;&lt;br /&gt;
&lt;br /&gt;
	bm.CreateCompatibleBitmap(&amp;amp;dc,Width,Height);&lt;br /&gt;
&lt;br /&gt;
	CDC tdc;&lt;br /&gt;
	tdc.CreateCompatibleDC(&amp;amp;dc);&lt;br /&gt;
&lt;br /&gt;
	CBitmap*pOld=tdc.SelectObject(&amp;amp;bm);&lt;br /&gt;
	tdc.BitBlt(0 , 0, Width,Height, &amp;amp;dc, WndRect.left, WndRect.top, SRCCOPY);&lt;br /&gt;
&lt;br /&gt;
	tdc.SelectObject(pOld);&lt;br /&gt;
&lt;br /&gt;
	BITMAP btm;&lt;br /&gt;
	bm.GetBitmap(&amp;amp;btm);&lt;br /&gt;
	DWORD size = btm.bmWidthBytes*btm.bmHeight;&lt;br /&gt;
	LPSTR lpData = (LPSTR)GlobalAllocPtr(GPTR,size);&lt;br /&gt;
/////////////////////////////////////////////&lt;br /&gt;
	BITMAPINFOHEADER bih;&lt;br /&gt;
	bih.biBitCount = btm.bmBitsPixel;&lt;br /&gt;
	bih.biClrImportant = 0;&lt;br /&gt;
	bih.biClrUsed = 0;&lt;br /&gt;
	bih.biCompression = 0;&lt;br /&gt;
	bih.biHeight = btm.bmHeight;&lt;br /&gt;
	bih.biPlanes = 1;&lt;br /&gt;
	bih.biSize = sizeof(BITMAPINFOHEADER);&lt;br /&gt;
	bih.biSizeImage = size;&lt;br /&gt;
	bih.biWidth = btm.bmWidth;&lt;br /&gt;
	bih.biXPelsPerMeter = 3780;//0;&lt;br /&gt;
	bih.biYPelsPerMeter = 3780;//0;&lt;br /&gt;
///////////////////////////////////&lt;br /&gt;
	if (btm.bmBitsPixel &amp;gt; 16)&lt;br /&gt;
	{&lt;br /&gt;
		GetDIBits(dc, bm, 0, bih.biHeight, lpData, (BITMAPINFO*)&amp;amp;bih, DIB_RGB_COLORS);&lt;br /&gt;
	}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		//bih.biClrImportant = 256;&lt;br /&gt;
		//bih.biClrUsed = 256;&lt;br /&gt;
		bm.GetBitmapBits(size, lpData);&lt;br /&gt;
	&lt;br /&gt;
		//iRet = GetDIBits(dc, bm, 0, (bih.biHeight-1), lpData, (BITMAPINFO*)&amp;amp;bih, DIB_PAL_COLORS);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
//////////////////////////////&lt;br /&gt;
&lt;br /&gt;
	BITMAPFILEHEADER bfh;&lt;br /&gt;
	bfh.bfReserved1 = bfh.bfReserved2 = 0;&lt;br /&gt;
	bfh.bfType = ((WORD)('M'&amp;lt;&amp;lt; 8)|'B');&lt;br /&gt;
	bfh.bfSize =  sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) +size;//54+size;&lt;br /&gt;
	bfh.bfOffBits =  sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);//54;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	//轉值修正&lt;br /&gt;
	int size2 = 0;&lt;br /&gt;
	LPBYTE lpData2 = NULL;&lt;br /&gt;
&lt;br /&gt;
	//16色模式&lt;br /&gt;
	if (btm.bmBitsPixel &amp;lt; 8)&lt;br /&gt;
	{&lt;br /&gt;
		GlobalFreePtr(lpData);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	//256色模式&lt;br /&gt;
	if (btm.bmBitsPixel == 8)&lt;br /&gt;
	{&lt;br /&gt;
		bih.biBitCount = 24;&lt;br /&gt;
		bih.biSizeImage = size *3;&lt;br /&gt;
		lpData2 = new(BYTE[bih.biSizeImage]);&lt;br /&gt;
		size2 = bih.biSizeImage;&lt;br /&gt;
		bih.biCompression = BI_RGB;&lt;br /&gt;
&lt;br /&gt;
		BYTE R, G, B, Color;&lt;br /&gt;
		LPBYTE	chBuffer = (LPBYTE)lpData,&lt;br /&gt;
				chRgbBuffer = lpData2;&lt;br /&gt;
		int		ColorIndex = 0, &lt;br /&gt;
				RgbIndex = 0;&lt;br /&gt;
&lt;br /&gt;
		PALETTEENTRY chColorTable[256];&lt;br /&gt;
		::GetSystemPaletteEntries(dc.m_hDC, &lt;br /&gt;
									0,&lt;br /&gt;
									256,&lt;br /&gt;
									chColorTable);&lt;br /&gt;
&lt;br /&gt;
		for(int y=(btm.bmHeight-1); y&amp;gt;0; y--)&lt;br /&gt;
		{&lt;br /&gt;
			ColorIndex = btm.bmWidthBytes * y;&lt;br /&gt;
			for (int x=0; x&amp;lt;btm.bmWidth; x++)&lt;br /&gt;
			{&lt;br /&gt;
				Color = chBuffer[ColorIndex];&lt;br /&gt;
				B = chColorTable[Color].peBlue;&lt;br /&gt;
				G = chColorTable[Color].peGreen;&lt;br /&gt;
				R = chColorTable[Color].peRed;&lt;br /&gt;
&lt;br /&gt;
				chRgbBuffer[RgbIndex] = B;&lt;br /&gt;
				chRgbBuffer[RgbIndex+1] = G;&lt;br /&gt;
				chRgbBuffer[RgbIndex+2] = R;&lt;br /&gt;
	&lt;br /&gt;
				ColorIndex ++;&lt;br /&gt;
				RgbIndex += 3;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	//16bit HiColor模式 (555與565)&lt;br /&gt;
	if (btm.bmBitsPixel == 16)&lt;br /&gt;
	{&lt;br /&gt;
		bih.biBitCount = 24;&lt;br /&gt;
		bih.biSizeImage = size /2 *3;&lt;br /&gt;
		lpData2 = new(BYTE[bih.biSizeImage]);&lt;br /&gt;
		size2 = bih.biSizeImage;&lt;br /&gt;
		bih.biCompression = BI_RGB;&lt;br /&gt;
&lt;br /&gt;
		WORD hiColor, R, G, B;&lt;br /&gt;
		LPBYTE	chBuffer = (LPBYTE)lpData,&lt;br /&gt;
				chRgbBuffer = lpData2;&lt;br /&gt;
		int		HiColorIndex = 0, &lt;br /&gt;
				RgbIndex = 0;&lt;br /&gt;
&lt;br /&gt;
		BOOL bIsHiColor555 = TRUE;&lt;br /&gt;
&lt;br /&gt;
		LPDIRECTDRAW		lpdd_temp = NULL;&lt;br /&gt;
		LPDIRECTDRAW4		lpdd = NULL;&lt;br /&gt;
		DDSURFACEDESC2		ddsd;&lt;br /&gt;
		LPDIRECTDRAWSURFACE4 lpdds_primary = NULL;&lt;br /&gt;
		DDPIXELFORMAT PixelFormat;&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		if (DirectDrawCreate(NULL, &amp;amp;lpdd_temp, NULL) == DD_OK)&lt;br /&gt;
		{&lt;br /&gt;
			if (lpdd_temp-&amp;gt;QueryInterface(IID_IDirectDraw4, (LPVOID *)&amp;amp;lpdd) == DD_OK)&lt;br /&gt;
			{&lt;br /&gt;
				memset(&amp;amp;ddsd, 0, sizeof(DDSURFACEDESC2));&lt;br /&gt;
				ddsd.dwSize = sizeof(DDSURFACEDESC2);&lt;br /&gt;
&lt;br /&gt;
				lpdd-&amp;gt;GetDisplayMode(&amp;amp;ddsd);&lt;br /&gt;
				{&lt;br /&gt;
					PixelFormat = ddsd.ddpfPixelFormat;&lt;br /&gt;
					if (PixelFormat.dwGBitMask == 0x07e0)//.dwRGBBitCount == 16)&lt;br /&gt;
					{&lt;br /&gt;
						bIsHiColor555 = FALSE;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				lpdd-&amp;gt;Release();&lt;br /&gt;
			}&lt;br /&gt;
			lpdd_temp-&amp;gt;Release();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (bIsHiColor555 == TRUE)&lt;br /&gt;
		{&lt;br /&gt;
			//555&lt;br /&gt;
			for(int y=(btm.bmHeight-1); y&amp;gt;0; y--)&lt;br /&gt;
			{&lt;br /&gt;
				HiColorIndex = btm.bmWidthBytes * y;&lt;br /&gt;
				for (int x=0; x&amp;lt;btm.bmWidth; x++)&lt;br /&gt;
				{&lt;br /&gt;
					hiColor = (WORD)chBuffer[HiColorIndex] + (WORD)(chBuffer[HiColorIndex+1]&amp;lt;&amp;lt;8);&lt;br /&gt;
&lt;br /&gt;
					R = (hiColor &amp;amp; 0x7C00) &amp;gt;&amp;gt; 7;&lt;br /&gt;
					G = (hiColor &amp;amp; 0x03E0) &amp;gt;&amp;gt; 2;	&lt;br /&gt;
					B = (hiColor &amp;amp; 0x001F) &amp;lt;&amp;lt; 3;&lt;br /&gt;
&lt;br /&gt;
					chRgbBuffer[RgbIndex] = (BYTE) B;&lt;br /&gt;
					chRgbBuffer[RgbIndex+1] = (BYTE) G;&lt;br /&gt;
					chRgbBuffer[RgbIndex+2] = (BYTE) R;&lt;br /&gt;
	&lt;br /&gt;
					HiColorIndex += 2;&lt;br /&gt;
					RgbIndex += 3;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			//565&lt;br /&gt;
			for(int y=(btm.bmHeight-1); y&amp;gt;0; y--)&lt;br /&gt;
			{&lt;br /&gt;
				HiColorIndex = btm.bmWidthBytes * y;&lt;br /&gt;
				for (int x=0; x&amp;lt;btm.bmWidth; x++)&lt;br /&gt;
				{&lt;br /&gt;
					hiColor = (WORD)chBuffer[HiColorIndex] + (WORD)(chBuffer[HiColorIndex+1]&amp;lt;&amp;lt;8);&lt;br /&gt;
	&lt;br /&gt;
					R = (hiColor &amp;amp; 0xF800) &amp;gt;&amp;gt; 8;&lt;br /&gt;
					G = (hiColor &amp;amp; 0x07E0) &amp;gt;&amp;gt; 3;&lt;br /&gt;
					B = (hiColor &amp;amp; 0x001F) &amp;lt;&amp;lt; 3;&lt;br /&gt;
&lt;br /&gt;
					chRgbBuffer[RgbIndex] = (BYTE) B;&lt;br /&gt;
					chRgbBuffer[RgbIndex+1] = (BYTE) G;&lt;br /&gt;
					chRgbBuffer[RgbIndex+2] = (BYTE) R;&lt;br /&gt;
	&lt;br /&gt;
					HiColorIndex += 2;&lt;br /&gt;
					RgbIndex += 3;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// 24Bit True Color 模式&lt;br /&gt;
	if (btm.bmBitsPixel == 24)&lt;br /&gt;
	{&lt;br /&gt;
		bih.biBitCount = 24;&lt;br /&gt;
		bih.biSizeImage = size;&lt;br /&gt;
		lpData2 = new(BYTE[bih.biSizeImage]);&lt;br /&gt;
		::memcpy(lpData2, lpData, bih.biSizeImage);&lt;br /&gt;
		size2 = bih.biSizeImage;&lt;br /&gt;
		bih.biCompression = BI_RGB;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	// 32Bit True Color 模式&lt;br /&gt;
	if (btm.bmBitsPixel == 32)&lt;br /&gt;
	{&lt;br /&gt;
		bih.biBitCount = 24;&lt;br /&gt;
		bih.biSizeImage = size /4 *3;&lt;br /&gt;
		lpData2 = new(BYTE[bih.biSizeImage]);&lt;br /&gt;
		size2 = bih.biSizeImage;&lt;br /&gt;
		bih.biCompression = BI_RGB;&lt;br /&gt;
&lt;br /&gt;
		BYTE R, G, B;&lt;br /&gt;
		LPBYTE	chBuffer = (LPBYTE)lpData,&lt;br /&gt;
				chRgbBuffer = lpData2;&lt;br /&gt;
		int		ColorIndex = 0, &lt;br /&gt;
				RgbIndex = 0;&lt;br /&gt;
&lt;br /&gt;
		for(int y=0; y&amp;lt;btm.bmHeight; y++)&lt;br /&gt;
		{&lt;br /&gt;
			ColorIndex = btm.bmWidthBytes * y;&lt;br /&gt;
			for (int x=0; x&amp;lt;btm.bmWidth; x++)&lt;br /&gt;
			{&lt;br /&gt;
				B = chBuffer[ColorIndex];&lt;br /&gt;
				G = chBuffer[ColorIndex+1];&lt;br /&gt;
				R = chBuffer[ColorIndex+2];&lt;br /&gt;
&lt;br /&gt;
				chRgbBuffer[RgbIndex] = B;&lt;br /&gt;
				chRgbBuffer[RgbIndex+1] = G;&lt;br /&gt;
				chRgbBuffer[RgbIndex+2] = R;&lt;br /&gt;
	&lt;br /&gt;
				ColorIndex += 4;&lt;br /&gt;
				RgbIndex += 3;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	m_dib.SetDIBits(&amp;amp;bfh, &amp;amp;bih, lpData2);&lt;br /&gt;
&lt;br /&gt;
	delete [] lpData2;&lt;br /&gt;
	&lt;br /&gt;
	GlobalFreePtr(lpData);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GDI+===&lt;br /&gt;
*參照：[http://www.dotblogs.com.tw/chou/archive/2009/03/08/7410.aspx C#做出 Print Screen 儲存螢幕畫面的功能 -【.NET菜鳥自救會】]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ComponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms; &lt;br /&gt;
&lt;br /&gt;
namespace ImageToolkit&lt;br /&gt;
{ &lt;br /&gt;
    public class ScreenCapture&lt;br /&gt;
    {&lt;br /&gt;
        //全螢幕&lt;br /&gt;
        public static Bitmap CaptureFullScreen()&lt;br /&gt;
        {&lt;br /&gt;
            Bitmap img = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format24bppRgb);&lt;br /&gt;
            using (Graphics g = Graphics.FromImage(img))&lt;br /&gt;
            {&lt;br /&gt;
                g.CopyFromScreen(new Point(0,0), &lt;br /&gt;
                    new Point(0, 0), &lt;br /&gt;
                    new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));&lt;br /&gt;
            }&lt;br /&gt;
            return img;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //視窗(Windows Form)&lt;br /&gt;
        public static Bitmap CaptureFullForm(Form form1)&lt;br /&gt;
        {&lt;br /&gt;
            Bitmap img = new Bitmap(form1.Width, form1.Height, PixelFormat.Format24bppRgb);&lt;br /&gt;
            using (Graphics g = Graphics.FromImage(img))&lt;br /&gt;
            {&lt;br /&gt;
                g.CopyFromScreen(new Point(form1.Location.X, form1.Location.Y),&lt;br /&gt;
                    new Point(0, 0),&lt;br /&gt;
                    new Size(form1.Width, form1.Height));&lt;br /&gt;
            }&lt;br /&gt;
            return img;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:技術]]&lt;br /&gt;
[[Category:GDI+]]&lt;/div&gt;</summary>
		<author><name>Player</name></author>	</entry>

	<entry>
		<id>http://www.player.idv.tw/prog/index.php?title=Windows_Image_Acquisition&amp;diff=8486&amp;oldid=prev</id>
		<title>Windows Image Acquisition</title>
		<link rel="alternate" type="text/html" href="http://www.player.idv.tw/prog/index.php?title=Windows_Image_Acquisition&amp;diff=8486&amp;oldid=prev"/>
				<updated>2012-05-15T09:36:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;FAQ: &lt;/span&gt; &lt;/p&gt;
&lt;a href=&quot;http://www.player.idv.tw/prog/index.php?title=Windows_Image_Acquisition&amp;amp;diff=8486&amp;amp;oldid=8481&quot;&gt;顯示差異&lt;/a&gt;</summary>
		<author><name>Player</name></author>	</entry>

	<entry>
		<id>http://www.player.idv.tw/prog/index.php?title=DirectShow&amp;diff=8485&amp;oldid=prev</id>
		<title>DirectShow</title>
		<link rel="alternate" type="text/html" href="http://www.player.idv.tw/prog/index.php?title=DirectShow&amp;diff=8485&amp;oldid=prev"/>
				<updated>2012-05-15T08:53:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一修訂&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;在2012年5月15日 (二) 08:53所做的修訂版本&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='4' align='center' class='diff-multi'&gt;（1個中途的修訂版本沒有顯示）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第8行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第8行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*[http://msdn.microsoft.com/en-us/windows/bb980924.aspx Windows SDK]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*[http://msdn.microsoft.com/en-us/windows/bb980924.aspx Windows SDK]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;:DirectShow SDK原本放在DirectX SDK裡，但自DirectX 9.0c SDK以後，被移到Windows SDK。&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;:DirectShow SDK原本放在DirectX SDK裡，但自DirectX 9.0c SDK以後，被移到Windows SDK。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*[http://sourceforge.net/projects/directshownet/ DirectShow.NET]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==技術文件==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==技術文件==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第14行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第15行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://www.free-codecs.com/download/RadLight_MPC_DirectShow_Filter.htm Radlight Ogg Theora DirectShow filter]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://www.free-codecs.com/download/RadLight_MPC_DirectShow_Filter.htm Radlight Ogg Theora DirectShow filter]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://wiki.jrmediacenter.com/index.php/DirectShow_Playback_Guide J. River DirectShow Playback Guide] – ''A tutorial on DirectShow focused on J. River's Media Center, but contains good general-purpose information as well.''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://wiki.jrmediacenter.com/index.php/DirectShow_Playback_Guide J. River DirectShow Playback Guide] – ''A tutorial on DirectShow focused on J. River's Media Center, but contains good general-purpose information as well.''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;==應用==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;===DirectShow.NET===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*[http://tw.myblog.yahoo.com/sl7333/article?mid=2367&amp;amp;prev=2422&amp;amp;next=2305&amp;amp;l=f&amp;amp;fid=26 WebCam 擷取畫面 (使用 DirectShow .Net)]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*[http://www.barebonescoder.com/2012/01/finding-your-web-cam-with-c-directshow-net/ Finding Your Web Cam with C# &amp;amp; DirectShow.NET]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*[http://www.codeproject.com/Articles/18511/Webcam-using-DirectShow-NET Webcam using DirectShow.NET]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==相關==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==相關==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Player</name></author>	</entry>

	</feed>
