{"id":10044,"date":"2023-01-30T21:00:00","date_gmt":"2023-01-30T12:00:00","guid":{"rendered":"https:\/\/taki-lab.site\/bocci\/?p=10044"},"modified":"2023-01-28T10:23:01","modified_gmt":"2023-01-28T01:23:01","slug":"direct2d%e3%82%92%e8%a9%a6%e3%81%99%e3%80%81%e3%81%9d%e3%81%ae2","status":"publish","type":"post","link":"https:\/\/taki-lab.site\/bocci\/?p=10044","title":{"rendered":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-\u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f wp-block-embed-\u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"gz6nADa6Pm\"><a href=\"https:\/\/taki-lab.site\/bocci\/?p=10028\">Direct2D\u3092\u8a66\u3059<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Direct2D\u3092\u8a66\u3059&#8221; &#8212; \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f\" src=\"https:\/\/taki-lab.site\/bocci\/?p=10028&#038;embed=true#?secret=d7WUlknbBG#?secret=gz6nADa6Pm\" data-secret=\"gz6nADa6Pm\" width=\"474\" height=\"267\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089\u3092\u53c2\u8003\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/dioltista.blogspot.com\/2019\/04\/c-directx11-direct2ddirectwrite_27.html\">http:\/\/dioltista.blogspot.com\/2019\/04\/c-directx11-direct2ddirectwrite_27.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u524d\u56de\u4f5c\u6210\u3057\u305fWindow\u306b\u30c6\u30ad\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u203bmain\u95a2\u6570\u306f\u5927\u3057\u3066\u5909\u66f4\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u7701\u7565\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#pragma once\r\n\r\n#pragma comment(lib,\"d3d11.lib\")\r\n#pragma comment(lib,\"d2d1.lib\")\r\n#pragma comment(lib,\"dwrite.lib\")\r\n#include &lt;d3d11_1.h>\r\n#include &lt;directxcolors.h>\r\n#include &lt;d2d1.h>\r\n#include &lt;dwrite.h>\r\n\r\nclass DirectX11\r\n{\r\npublic:\r\n    DirectX11();\r\n    ~DirectX11();\r\n    HRESULT InitDevice();\r\n    void Render();\r\nprivate:\r\n    ID3D11Device* pd3dDevice;\r\n    ID3D11Device1* pd3dDevice1;\r\n    ID3D11DeviceContext* pImmediateContext;\r\n    ID3D11DeviceContext1* pImmediateContext1;\r\n    IDXGISwapChain* pSwapChain;\r\n    IDXGISwapChain1* pSwapChain1;\r\n    ID3D11RenderTargetView* pRenderTargetView;\r\n\r\n    ID2D1Factory* pD2DFactory;\r\n    IDWriteFactory* pDWriteFactory;\r\n    IDWriteTextFormat* pTextFormat;\r\n    ID2D1RenderTarget* pRT;\r\n    ID2D1SolidColorBrush* pSolidBrush;\r\n    IDXGISurface* pDXGISurface;\r\n};\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#include \"Main.h\"\r\n#include \"DirectX.h\"\r\n\r\nDirectX11::DirectX11()\r\n{\r\n    pd3dDevice = nullptr;\r\n    pd3dDevice1 = nullptr;\r\n    pImmediateContext = nullptr;\r\n    pImmediateContext1 = nullptr;\r\n    pSwapChain = nullptr;\r\n    pSwapChain1 = nullptr;\r\n    pRenderTargetView = nullptr;\r\n\r\n    pD2DFactory = nullptr;\r\n    pDWriteFactory = nullptr;\r\n    pTextFormat = nullptr;\r\n    pRT = nullptr;\r\n    pSolidBrush = nullptr;\r\n    pDXGISurface = nullptr;\r\n}\r\n\r\nDirectX11::~DirectX11()\r\n{\r\n    if (pDXGISurface) pDXGISurface->Release();\r\n    if (pSolidBrush) pSolidBrush->Release();\r\n    if (pRT) pRT->Release();\r\n    if (pTextFormat) pTextFormat->Release();\r\n    if (pDWriteFactory) pDWriteFactory->Release();\r\n    if (pD2DFactory) pD2DFactory->Release();\r\n\r\n    if (pImmediateContext) pImmediateContext->ClearState();\r\n\r\n    if (pRenderTargetView) pRenderTargetView->Release();\r\n    if (pSwapChain1) pSwapChain1->Release();\r\n    if (pSwapChain) pSwapChain->Release();\r\n    if (pImmediateContext1) pImmediateContext1->Release();\r\n    if (pImmediateContext) pImmediateContext->Release();\r\n    if (pd3dDevice1) pd3dDevice1->Release();\r\n    if (pd3dDevice) pd3dDevice->Release();\r\n}\r\n\r\nHRESULT DirectX11::InitDevice()\r\n{\r\n    HRESULT hr = S_OK;\r\n\r\n    RECT rc;\r\n    GetClientRect(Window::GethWnd(), &amp;rc);\r\n    UINT width = rc.right - rc.left;\r\n    UINT height = rc.bottom - rc.top;\r\n\r\n    UINT createDeviceFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT;\r\n\r\n#ifdef _DEBUG\r\n    createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;\r\n#endif\r\n\r\n    D3D_DRIVER_TYPE driverTypes&#91;] =\r\n    {\r\n        D3D_DRIVER_TYPE_HARDWARE,\r\n        D3D_DRIVER_TYPE_WARP,\r\n        D3D_DRIVER_TYPE_REFERENCE,\r\n    };\r\n    UINT numDriverTypes = ARRAYSIZE(driverTypes);\r\n\r\n    D3D_FEATURE_LEVEL featureLevels&#91;] =\r\n    {\r\n        D3D_FEATURE_LEVEL_11_1,\r\n        D3D_FEATURE_LEVEL_11_0,\r\n        D3D_FEATURE_LEVEL_10_1,\r\n        D3D_FEATURE_LEVEL_10_0,\r\n    };\r\n    UINT numFeatureLevels = ARRAYSIZE(featureLevels);\r\n\r\n    D3D_DRIVER_TYPE g_driverType = D3D_DRIVER_TYPE_NULL;\r\n    D3D_FEATURE_LEVEL g_featureLevel = D3D_FEATURE_LEVEL_11_0;\r\n    for (UINT driverTypeIndex = 0; driverTypeIndex &lt; numDriverTypes; driverTypeIndex++)\r\n    {\r\n        g_driverType = driverTypes&#91;driverTypeIndex];\r\n        hr = D3D11CreateDevice(nullptr, g_driverType, nullptr, createDeviceFlags, featureLevels, numFeatureLevels,\r\n            D3D11_SDK_VERSION, &amp;pd3dDevice, &amp;g_featureLevel, &amp;pImmediateContext);\r\n\r\n        if (hr == E_INVALIDARG)\r\n        {\r\n            hr = D3D11CreateDevice(nullptr, g_driverType, nullptr, createDeviceFlags, &amp;featureLevels&#91;1], numFeatureLevels - 1,\r\n                D3D11_SDK_VERSION, &amp;pd3dDevice, &amp;g_featureLevel, &amp;pImmediateContext);\r\n        }\r\n\r\n        if (SUCCEEDED(hr))\r\n            break;\r\n    }\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    IDXGIFactory1* dxgiFactory = nullptr;\r\n    {\r\n        IDXGIDevice* dxgiDevice = nullptr;\r\n        hr = pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), reinterpret_cast&lt;void**>(&amp;dxgiDevice));\r\n        if (SUCCEEDED(hr))\r\n        {\r\n            IDXGIAdapter* adapter = nullptr;\r\n            hr = dxgiDevice->GetAdapter(&amp;adapter);\r\n            if (SUCCEEDED(hr))\r\n            {\r\n                hr = adapter->GetParent(__uuidof(IDXGIFactory1), reinterpret_cast&lt;void**>(&amp;dxgiFactory));\r\n                adapter->Release();\r\n            }\r\n            dxgiDevice->Release();\r\n        }\r\n    }\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    IDXGIFactory2* dxgiFactory2 = nullptr;\r\n    hr = dxgiFactory->QueryInterface(__uuidof(IDXGIFactory2), reinterpret_cast&lt;void**>(&amp;dxgiFactory2));\r\n    if (dxgiFactory2)\r\n    {\r\n        hr = pd3dDevice->QueryInterface(__uuidof(ID3D11Device1), reinterpret_cast&lt;void**>(&amp;pd3dDevice1));\r\n        if (SUCCEEDED(hr))\r\n        {\r\n            (void)pImmediateContext->QueryInterface(__uuidof(ID3D11DeviceContext1), reinterpret_cast&lt;void**>(&amp;pImmediateContext1));\r\n        }\r\n\r\n        DXGI_SWAP_CHAIN_DESC1 sd = {};\r\n        sd.Width = width;\r\n        sd.Height = height;\r\n        sd.Format = DXGI_FORMAT_R8G8B8A8_UNORM;\r\n        sd.SampleDesc.Count = 1;\r\n        sd.SampleDesc.Quality = 0;\r\n        sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;\r\n        sd.BufferCount = 1;\r\n\r\n        hr = dxgiFactory2->CreateSwapChainForHwnd(pd3dDevice, Window::GethWnd(), &amp;sd, nullptr, nullptr, &amp;pSwapChain1);\r\n        if (SUCCEEDED(hr))\r\n        {\r\n            hr = pSwapChain1->QueryInterface(__uuidof(IDXGISwapChain), reinterpret_cast&lt;void**>(&amp;pSwapChain));\r\n        }\r\n\r\n        dxgiFactory2->Release();\r\n    }\r\n    else\r\n    {\r\n        DXGI_SWAP_CHAIN_DESC sd = {};\r\n        sd.BufferCount = 1;\r\n        sd.BufferDesc.Width = width;\r\n        sd.BufferDesc.Height = height;\r\n        sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;\r\n        sd.BufferDesc.RefreshRate.Numerator = 60;\r\n        sd.BufferDesc.RefreshRate.Denominator = 1;\r\n        sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;\r\n        sd.OutputWindow = Window::GethWnd();\r\n        sd.SampleDesc.Count = 1;\r\n        sd.SampleDesc.Quality = 0;\r\n        sd.Windowed = TRUE;\r\n\r\n        hr = dxgiFactory->CreateSwapChain(pd3dDevice, &amp;sd, &amp;pSwapChain);\r\n    }\r\n\r\n    dxgiFactory->MakeWindowAssociation(Window::GethWnd(), DXGI_MWA_NO_ALT_ENTER);\r\n\r\n    dxgiFactory->Release();\r\n\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    ID3D11Texture2D* pBackBuffer = nullptr;\r\n    hr = pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), reinterpret_cast&lt;void**>(&amp;pBackBuffer));\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    hr = pd3dDevice->CreateRenderTargetView(pBackBuffer, nullptr, &amp;pRenderTargetView);\r\n    pBackBuffer->Release();\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    pImmediateContext->OMSetRenderTargets(1, &amp;pRenderTargetView, nullptr);\r\n\r\n    D3D11_VIEWPORT vp;\r\n    vp.Width = (FLOAT)width;\r\n    vp.Height = (FLOAT)height;\r\n    vp.MinDepth = 0.0f;\r\n    vp.MaxDepth = 1.0f;\r\n    vp.TopLeftX = 0;\r\n    vp.TopLeftY = 0;\r\n    pImmediateContext->RSSetViewports(1, &amp;vp);\r\n\r\n    \/\/ Direct2D,DirectWrite\u306e\u521d\u671f\u5316\r\n    hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &amp;pD2DFactory);\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    hr = pSwapChain->GetBuffer(0, IID_PPV_ARGS(&amp;pDXGISurface));\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    FLOAT dpiX;\r\n    FLOAT dpiY;\r\n    \/\/pD2DFactory->GetDesktopDpi(&amp;dpiX, &amp;dpiY);\u2605\r\n    dpiX = (FLOAT)GetDpiForWindow(GetDesktopWindow());\r\n    dpiY = dpiX;\r\n\r\n    D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_DEFAULT, D2D1::PixelFormat(DXGI_FORMAT_UNKNOWN, D2D1_ALPHA_MODE_PREMULTIPLIED), dpiX, dpiY);\r\n\r\n    hr = pD2DFactory->CreateDxgiSurfaceRenderTarget(pDXGISurface, &amp;props, &amp;pRT);\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    hr = DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, __uuidof(IDWriteFactory), reinterpret_cast&lt;IUnknown**>(&amp;pDWriteFactory));\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    \/\/\u95a2\u6570CreateTextFormat()\r\n    \/\/\u7b2c1\u5f15\u6570\uff1a\u30d5\u30a9\u30f3\u30c8\u540d\uff08L\"\u30e1\u30a4\u30ea\u30aa\", L\"Arial\", L\"Meiryo UI\"\u7b49\uff09\r\n    \/\/\u7b2c2\u5f15\u6570\uff1a\u30d5\u30a9\u30f3\u30c8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\uff08nullptr\uff09\r\n    \/\/\u7b2c3\u5f15\u6570\uff1a\u30d5\u30a9\u30f3\u30c8\u306e\u592a\u3055\uff08DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_WEIGHT_BOLD\u7b49\uff09\r\n    \/\/\u7b2c4\u5f15\u6570\uff1a\u30d5\u30a9\u30f3\u30c8\u30b9\u30bf\u30a4\u30eb\uff08DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STYLE_OBLIQUE, DWRITE_FONT_STYLE_ITALIC\uff09\r\n    \/\/\u7b2c5\u5f15\u6570\uff1a\u30d5\u30a9\u30f3\u30c8\u306e\u5e45\uff08DWRITE_FONT_STRETCH_NORMAL,DWRITE_FONT_STRETCH_EXTRA_EXPANDED\u7b49\uff09\r\n    \/\/\u7b2c6\u5f15\u6570\uff1a\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba\uff0820, 30\u7b49\uff09\r\n    \/\/\u7b2c7\u5f15\u6570\uff1a\u30ed\u30b1\u30fc\u30eb\u540d\uff08L\"\"\uff09\r\n    \/\/\u7b2c8\u5f15\u6570\uff1a\u30c6\u30ad\u30b9\u30c8\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\uff08&amp;g_pTextFormat\uff09\r\n    hr = pDWriteFactory->CreateTextFormat(L\"\u30e1\u30a4\u30ea\u30aa\", nullptr, DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, 20, L\"\", &amp;pTextFormat);\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    \/\/\u95a2\u6570SetTextAlignment()\r\n    \/\/\u7b2c1\u5f15\u6570\uff1a\u30c6\u30ad\u30b9\u30c8\u306e\u914d\u7f6e\uff08DWRITE_TEXT_ALIGNMENT_LEADING\uff1a\u524d, DWRITE_TEXT_ALIGNMENT_TRAILING\uff1a\u5f8c, DWRITE_TEXT_ALIGNMENT_CENTER\uff1a\u4e2d\u592e\uff09\r\n    hr = pTextFormat->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_LEADING);\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    \/\/\u95a2\u6570CreateSolidColorBrush()\r\n    \/\/\u7b2c1\u5f15\u6570\uff1a\u30d5\u30a9\u30f3\u30c8\u8272\uff08D2D1::ColorF(D2D1::ColorF::Black)\uff1a\u9ed2, D2D1::ColorF(D2D1::ColorF(0.0f, 0.2f, 0.9f, 1.0f))\uff1aRGBA\u6307\u5b9a\uff09\r\n    hr = pRT->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::Black), &amp;pSolidBrush);\r\n    if (FAILED(hr))\r\n        return hr;\r\n\r\n    return S_OK;\r\n}\r\n\r\nvoid DirectX11::Render()\r\n{\r\n    pImmediateContext->ClearRenderTargetView(pRenderTargetView, DirectX::Colors::Aquamarine);\r\n\r\n    \/\/ \u30c6\u30ad\u30b9\u30c8\u306e\u63cf\u753b\r\n    WCHAR wcText1&#91;] = L\"\u3000\u89aa\u8b72\u308a\u306e\u7121\u9244\u7832\u3067\u5c0f\u4f9b\u306e\u6642\u304b\u3089\u640d\u3070\u304b\u308a\u3057\u3066\u3044\u308b\u3002\u5c0f\u5b66\u6821\u306b\u5c45\u308b\u6642\u5206\u5b66\u6821\u306e\u4e8c\u968e\u304b\u3089\";\r\n    WCHAR wcText2&#91;] = L\"\u98db\u3073\u964d\u308a\u3066\u4e00\u9031\u9593\u307b\u3069\u8170\u3092\u629c\u304b\u3057\u305f\u4e8b\u304c\u3042\u308b\u3002\u306a\u305c\u305d\u3093\u306a\u7121\u95c7\u3092\u3057\u305f\u3068\u805e\u304f\u4eba\u304c\u3042\u308b\u304b\";\r\n    WCHAR wcText3&#91;] = L\"\u3082\u77e5\u308c\u306c\u3002\u5225\u6bb5\u6df1\u3044\u7406\u7531\u3067\u3082\u306a\u3044\u3002\u65b0\u7bc9\u306e\u4e8c\u968e\u304b\u3089\u9996\u3092\u51fa\u3057\u3066\u3044\u305f\u3089\u3001\u540c\u7d1a\u751f\u306e\u4e00\u4eba\u304c\";\r\n    WCHAR wcText4&#91;] = L\"\u5197\u8ac7\u306b\u3001\u3044\u304f\u3089\u5a01\u5f35\u3063\u3066\u3082\u3001\u305d\u3053\u304b\u3089\u98db\u3073\u964d\u308a\u308b\u4e8b\u306f\u51fa\u6765\u307e\u3044\u3002\u5f31\u866b\u3084\u30fc\u3044\u3002\u3068\u56c3\u3057\u305f\";\r\n    WCHAR wcText5&#91;] = L\"\u304b\u3089\u3067\u3042\u308b\u3002\u5c0f\u4f7f\u306b\u8ca0\u3076\u3055\u3063\u3066\u5e30\u3063\u3066\u6765\u305f\u6642\u3001\u304a\u3084\u3058\u304c\u5927\u304d\u306a\u773c\u3092\u3057\u3066\u4e8c\u968e\u3050\u3089\u3044\u304b\u3089\";\r\n    WCHAR wcText6&#91;] = L\"\u98db\u3073\u964d\u308a\u3066\u8170\u3092\u629c\u304b\u3059\u5974\u304c\u3042\u308b\u304b\u3068\u4e91\u3063\u305f\u304b\u3089\u3001\u3053\u306e\u6b21\u306f\u629c\u304b\u3055\u305a\u306b\u98db\u3093\u3067\u898b\u305b\u307e\u3059\u3068\";\r\n    WCHAR wcText7&#91;] = L\"\u7b54\u3048\u305f\u3002\";\r\n\r\n    pRT->BeginDraw();\r\n    pSolidBrush->SetColor(D2D1::ColorF(D2D1::ColorF::Blue));\/\/\u30d5\u30a9\u30f3\u30c8\u8272\u5909\u66f4\uff1a\u9752\r\n    pRT->DrawText(wcText1, ARRAYSIZE(wcText1) - 1, pTextFormat, D2D1::RectF(0, 0, 800, 20), pSolidBrush, D2D1_DRAW_TEXT_OPTIONS_NONE);\r\n    pRT->DrawText(wcText2, ARRAYSIZE(wcText2) - 1, pTextFormat, D2D1::RectF(0, 20, 800, 40), pSolidBrush, D2D1_DRAW_TEXT_OPTIONS_NONE);\r\n    pSolidBrush->SetOpacity(0.7f);\/\/\u30d5\u30a9\u30f3\u30c8\u306e\u900f\u660e\u5ea6\u5909\u66f4\uff1a70\uff05\r\n    pRT->DrawText(wcText3, ARRAYSIZE(wcText3) - 1, pTextFormat, D2D1::RectF(0, 40, 800, 60), pSolidBrush, D2D1_DRAW_TEXT_OPTIONS_NONE);\r\n    pSolidBrush->SetColor(D2D1::ColorF(D2D1::ColorF::Black));\/\/\u30d5\u30a9\u30f3\u30c8\u8272\u5909\u66f4\uff1a\u9ed2\r\n    pRT->DrawText(wcText4, ARRAYSIZE(wcText4) - 1, pTextFormat, D2D1::RectF(0, 60, 800, 80), pSolidBrush, D2D1_DRAW_TEXT_OPTIONS_NONE);\r\n    pRT->DrawText(wcText5, ARRAYSIZE(wcText5) - 1, pTextFormat, D2D1::RectF(0, 80, 800, 100), pSolidBrush, D2D1_DRAW_TEXT_OPTIONS_NONE);\r\n    pSolidBrush->SetOpacity(1.0f);\/\/\u30d5\u30a9\u30f3\u30c8\u306e\u900f\u660e\u5ea6\u5909\u66f4\uff1a100\uff05\r\n    pRT->DrawText(wcText6, ARRAYSIZE(wcText6) - 1, pTextFormat, D2D1::RectF(0, 100, 800, 120), pSolidBrush, D2D1_DRAW_TEXT_OPTIONS_NONE);\r\n    pRT->DrawText(wcText7, ARRAYSIZE(wcText7) - 1, pTextFormat, D2D1::RectF(0, 120, 800, 140), pSolidBrush, D2D1_DRAW_TEXT_OPTIONS_NONE);\r\n    pRT->EndDraw();\r\n\r\n    pSwapChain->Present(0, 0);\r\n}\r\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b5\u30f3\u30d7\u30eb\u3068\u9055\u3046\u306e\u306f\u2605\u306e\u7b87\u6240\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GetDesktopDpi()\u3092\u4f7f\u7528\u3059\u308b\u306e\u306f\u975e\u63a8\u5968\u3089\u3057\u304f\u3001\u30d3\u30eb\u30c9\u30a8\u30e9\u30fc\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305d\u3053\u3067\u53c2\u7167\u3057\u305f\u306e\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/answers\/questions\/170411\/creating-a-simple-direct2d-application-id2d1factor\">https:\/\/learn.microsoft.com\/en-us\/answers\/questions\/170411\/creating-a-simple-direct2d-application-id2d1factor<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    dpiX = (FLOAT)GetDpiForWindow(GetDesktopWindow());\r\n    dpiY = dpiX;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u306b\u7f6e\u304d\u63db\u3048\u308b\u3053\u3068\u3067\u30d3\u30eb\u30c9\u304c\u901a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"376\" data-attachment-id=\"10046\" data-permalink=\"https:\/\/taki-lab.site\/bocci\/?attachment_id=10046\" data-orig-file=\"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/fb96974b7f4ff7d21dec849927be1bb7.png?fit=1020%2C810&amp;ssl=1\" data-orig-size=\"1020,810\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"fb96974b7f4ff7d21dec849927be1bb7\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/fb96974b7f4ff7d21dec849927be1bb7.png?fit=474%2C376&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/fb96974b7f4ff7d21dec849927be1bb7.png?resize=474%2C376&#038;ssl=1\" alt=\"\" class=\"wp-image-10046\" srcset=\"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/fb96974b7f4ff7d21dec849927be1bb7.png?w=1020&amp;ssl=1 1020w, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/fb96974b7f4ff7d21dec849927be1bb7.png?resize=300%2C238&amp;ssl=1 300w, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/fb96974b7f4ff7d21dec849927be1bb7.png?resize=768%2C610&amp;ssl=1 768w, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/fb96974b7f4ff7d21dec849927be1bb7.png?w=948&amp;ssl=1 948w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<a href=\"https:\/\/blog.with2.net\/link\/?id=2023426&#038;cid=9200\" title=\"\u65e5\u3005\u306e\u51fa\u6765\u4e8b\u30e9\u30f3\u30ad\u30f3\u30b0\" target=\"_blank\" rel=\"noopener\"><image src=\"https:\/\/taki-lab.site\/bocci\/wp-content\/uploads\/2022\/11\/99c62cdd0038c9d3b540e561ee138b82-1.jpg\"><\/a>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089\u3092\u53c2\u8003\u3002 http:\/\/dioltista.blogspot.com\/2019\/04\/c-directx &hellip; <a href=\"https:\/\/taki-lab.site\/bocci\/?p=10044\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3],"tags":[],"class_list":["post-10044","post","type-post","status-publish","format-standard","hentry","category-3"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"taki\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/taki-lab.site\/bocci\/?p=10044\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"ja_JP\" \/>\n\t\t<meta property=\"og:site_name\" content=\"\u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2 | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f\" \/>\n\t\t<meta property=\"og:description\" content=\"\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/taki-lab.site\/bocci\/?p=10044\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-01-30T12:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-01-28T01:23:01+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@n2_taki\" \/>\n\t\t<meta name=\"twitter:title\" content=\"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2 | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f\" \/>\n\t\t<meta name=\"twitter:description\" content=\"\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@n2_taki\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#article\",\"name\":\"DIRECT2D\\u3092\\u8a66\\u3059\\u3001\\u305d\\u306e2 | \\u81ea\\u5206\\u3001\\u307c\\u3063\\u3061\\u3067\\u3059\\u304c\\u4f55\\u304b\\uff1f\",\"headline\":\"DIRECT2D\\u3092\\u8a66\\u3059\\u3001\\u305d\\u306e2\",\"author\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?author=1#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/taki-lab.site\\\/bocci\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/fb96974b7f4ff7d21dec849927be1bb7.png?fit=1020%2C810&ssl=1\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044\\\/#articleImage\",\"width\":1020,\"height\":810},\"datePublished\":\"2023-01-30T21:00:00+09:00\",\"dateModified\":\"2023-01-28T10:23:01+09:00\",\"inLanguage\":\"ja\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#webpage\"},\"articleSection\":\"\\u6280\\u8853\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/taki-lab.site\\\/bocci\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?cat=3#listItem\",\"name\":\"\\u6280\\u8853\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?cat=3#listItem\",\"position\":2,\"name\":\"\\u6280\\u8853\",\"item\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?cat=3\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#listItem\",\"name\":\"DIRECT2D\\u3092\\u8a66\\u3059\\u3001\\u305d\\u306e2\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#listItem\",\"position\":3,\"name\":\"DIRECT2D\\u3092\\u8a66\\u3059\\u3001\\u305d\\u306e2\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?cat=3#listItem\",\"name\":\"\\u6280\\u8853\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/#person\",\"name\":\"taki\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8f8cdedc3ca17123f9055a947821458b0e1a9b070e54d24591e88600598d6659?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"taki\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?author=1#author\",\"url\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?author=1\",\"name\":\"taki\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8f8cdedc3ca17123f9055a947821458b0e1a9b070e54d24591e88600598d6659?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"taki\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#webpage\",\"url\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044\",\"name\":\"DIRECT2D\\u3092\\u8a66\\u3059\\u3001\\u305d\\u306e2 | \\u81ea\\u5206\\u3001\\u307c\\u3063\\u3061\\u3067\\u3059\\u304c\\u4f55\\u304b\\uff1f\",\"description\":\"\\u524d\\u56de\\u306fDirectX\\u306e\\u521d\\u671f\\u5316\\u3060\\u3051\\u3067\\u3057\\u305f\\u304c\\u3001\\u4eca\\u56de\\u306f\\u3044\\u3088\\u3044\\u3088Direct2D\\u3092\\u4f7f\\u7528\\u3057\\u3066\\u3044\\u304d\\u307e\\u3059\\u3002 \\u30b5\\u30f3\\u30d7\\u30eb\\u30b3\\u30fc\\u30c9\\u306f\",\"inLanguage\":\"ja\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?p=10044#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?author=1#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/?author=1#author\"},\"datePublished\":\"2023-01-30T21:00:00+09:00\",\"dateModified\":\"2023-01-28T10:23:01+09:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/#website\",\"url\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/\",\"name\":\"\\u81ea\\u5206\\u3001\\u307c\\u3063\\u3061\\u3067\\u3059\\u304c\\u4f55\\u304b\\uff1f\",\"description\":\"\\u81ea\\u5206\\u3001\\u307c\\u3063\\u3061\\u3067\\u3059\\u304c\\u4f55\\u304b\\uff1f\",\"inLanguage\":\"ja\",\"publisher\":{\"@id\":\"https:\\\/\\\/taki-lab.site\\\/bocci\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2 | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f","description":"\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f","canonical_url":"https:\/\/taki-lab.site\/bocci\/?p=10044","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#article","name":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2 | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f","headline":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2","author":{"@id":"https:\/\/taki-lab.site\/bocci\/?author=1#author"},"publisher":{"@id":"https:\/\/taki-lab.site\/bocci\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/fb96974b7f4ff7d21dec849927be1bb7.png?fit=1020%2C810&ssl=1","@id":"https:\/\/taki-lab.site\/bocci\/?p=10044\/#articleImage","width":1020,"height":810},"datePublished":"2023-01-30T21:00:00+09:00","dateModified":"2023-01-28T10:23:01+09:00","inLanguage":"ja","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#webpage"},"isPartOf":{"@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#webpage"},"articleSection":"\u6280\u8853"},{"@type":"BreadcrumbList","@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/taki-lab.site\/bocci#listItem","position":1,"name":"Home","item":"https:\/\/taki-lab.site\/bocci","nextItem":{"@type":"ListItem","@id":"https:\/\/taki-lab.site\/bocci\/?cat=3#listItem","name":"\u6280\u8853"}},{"@type":"ListItem","@id":"https:\/\/taki-lab.site\/bocci\/?cat=3#listItem","position":2,"name":"\u6280\u8853","item":"https:\/\/taki-lab.site\/bocci\/?cat=3","nextItem":{"@type":"ListItem","@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#listItem","name":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2"},"previousItem":{"@type":"ListItem","@id":"https:\/\/taki-lab.site\/bocci#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#listItem","position":3,"name":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2","previousItem":{"@type":"ListItem","@id":"https:\/\/taki-lab.site\/bocci\/?cat=3#listItem","name":"\u6280\u8853"}}]},{"@type":"Person","@id":"https:\/\/taki-lab.site\/bocci\/#person","name":"taki","image":{"@type":"ImageObject","@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/8f8cdedc3ca17123f9055a947821458b0e1a9b070e54d24591e88600598d6659?s=96&d=mm&r=g","width":96,"height":96,"caption":"taki"}},{"@type":"Person","@id":"https:\/\/taki-lab.site\/bocci\/?author=1#author","url":"https:\/\/taki-lab.site\/bocci\/?author=1","name":"taki","image":{"@type":"ImageObject","@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/8f8cdedc3ca17123f9055a947821458b0e1a9b070e54d24591e88600598d6659?s=96&d=mm&r=g","width":96,"height":96,"caption":"taki"}},{"@type":"WebPage","@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#webpage","url":"https:\/\/taki-lab.site\/bocci\/?p=10044","name":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2 | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f","description":"\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f","inLanguage":"ja","isPartOf":{"@id":"https:\/\/taki-lab.site\/bocci\/#website"},"breadcrumb":{"@id":"https:\/\/taki-lab.site\/bocci\/?p=10044#breadcrumblist"},"author":{"@id":"https:\/\/taki-lab.site\/bocci\/?author=1#author"},"creator":{"@id":"https:\/\/taki-lab.site\/bocci\/?author=1#author"},"datePublished":"2023-01-30T21:00:00+09:00","dateModified":"2023-01-28T10:23:01+09:00"},{"@type":"WebSite","@id":"https:\/\/taki-lab.site\/bocci\/#website","url":"https:\/\/taki-lab.site\/bocci\/","name":"\u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f","description":"\u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f","inLanguage":"ja","publisher":{"@id":"https:\/\/taki-lab.site\/bocci\/#person"}}]},"og:locale":"ja_JP","og:site_name":"\u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f","og:type":"article","og:title":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2 | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f","og:description":"\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f","og:url":"https:\/\/taki-lab.site\/bocci\/?p=10044","article:published_time":"2023-01-30T12:00:00+00:00","article:modified_time":"2023-01-28T01:23:01+00:00","twitter:card":"summary","twitter:site":"@n2_taki","twitter:title":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2 | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f","twitter:description":"\u524d\u56de\u306fDirectX\u306e\u521d\u671f\u5316\u3060\u3051\u3067\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u3044\u3088\u3044\u3088Direct2D\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f","twitter:creator":"@n2_taki"},"aioseo_meta_data":{"post_id":"10044","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-01-28 00:59:19","updated":"2025-06-08 11:35:21","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/taki-lab.site\/bocci\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/taki-lab.site\/bocci\/?cat=3\" title=\"\u6280\u8853\">\u6280\u8853<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tDIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/taki-lab.site\/bocci"},{"label":"\u6280\u8853","link":"https:\/\/taki-lab.site\/bocci\/?cat=3"},{"label":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e2","link":"https:\/\/taki-lab.site\/bocci\/?p=10044"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8SDbY-2C0","jetpack-related-posts":[{"id":10066,"url":"https:\/\/taki-lab.site\/bocci\/?p=10066","url_meta":{"origin":10044,"position":0},"title":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e3","author":"taki","date":"2023\u5e742\u67081\u65e5","format":false,"excerpt":"https:\/\/taki-lab.site\/bocci\/?p=10044 \u4eca\u56de\u306fFPS\u3092\u56fa\u5b9a\u5316\u3059\u308b\u30b3\u2026","rel":"","context":"\u6280\u8853","block_context":{"text":"\u6280\u8853","link":"https:\/\/taki-lab.site\/bocci\/?cat=3"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/3207a23d6246495e53b7dfc207a68a47.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/3207a23d6246495e53b7dfc207a68a47.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/3207a23d6246495e53b7dfc207a68a47.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/3207a23d6246495e53b7dfc207a68a47.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":10087,"url":"https:\/\/taki-lab.site\/bocci\/?p=10087","url_meta":{"origin":10044,"position":1},"title":"DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e4","author":"taki","date":"2023\u5e742\u67084\u65e5","format":false,"excerpt":"https:\/\/taki-lab.site\/bocci\/?p=10066 \u524d\u56de\u307e\u3067\u306fWeb\u3067\u898b\u3064\u3051\u305f\u2026","rel":"","context":"\u6280\u8853","block_context":{"text":"\u6280\u8853","link":"https:\/\/taki-lab.site\/bocci\/?cat=3"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/b3462785e8070e4b4f859b65045f51d8.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/b3462785e8070e4b4f859b65045f51d8.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/b3462785e8070e4b4f859b65045f51d8.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/b3462785e8070e4b4f859b65045f51d8.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/b3462785e8070e4b4f859b65045f51d8.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":10028,"url":"https:\/\/taki-lab.site\/bocci\/?p=10028","url_meta":{"origin":10044,"position":2},"title":"Direct2D\u3092\u8a66\u3059","author":"taki","date":"2023\u5e741\u670827\u65e5","format":false,"excerpt":"\u307e\u3060\u6848\u4ef6\u304c\u6c7a\u307e\u3063\u305f\u308f\u3051\u3067\u306f\u7121\u3044\u306e\u3067\u3001 \u30cd\u30c3\u30c8\u3067\u3088\u3044\u8a18\u4e8b\u304c\u7121\u3044\u304b\u3092\u63a2\u3057\u3066\u3044\u305f\u3068\u3053\u308d\u3001 \u3053\u3061\u3089\u304c\u898b\u3064\u304b\u308a\u2026","rel":"","context":"\u6280\u8853","block_context":{"text":"\u6280\u8853","link":"https:\/\/taki-lab.site\/bocci\/?cat=3"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/023518e0781c96cf2dc19c33c4b67eef.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/023518e0781c96cf2dc19c33c4b67eef.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/023518e0781c96cf2dc19c33c4b67eef.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/023518e0781c96cf2dc19c33c4b67eef.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/023518e0781c96cf2dc19c33c4b67eef.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":9195,"url":"https:\/\/taki-lab.site\/bocci\/?p=9195","url_meta":{"origin":10044,"position":3},"title":"RUST\u52c9\u5f37\u4e2d\u30019\/19\u306e\u7a4d\u307f\u4e0a\u3052?","author":"taki","date":"2022\u5e749\u670821\u65e5","format":false,"excerpt":"https:\/\/taki-lab.site\/bocci\/?p=9154 \u30de\u30f3\u30c7\u30eb\u30d6\u30ed\u96c6\u5408\u306e\u51e6\u7406\u3092\u5b9f\u88c5\u2026","rel":"","context":"Rust","block_context":{"text":"Rust","link":"https:\/\/taki-lab.site\/bocci\/?cat=2542"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10500,"url":"https:\/\/taki-lab.site\/bocci\/?p=10500","url_meta":{"origin":10044,"position":4},"title":"Docker\u3067PHP+DB+Laravel\u3092\u69cb\u6210\u3057\u3066\u307f\u308b","author":"taki","date":"2023\u5e744\u670829\u65e5","format":false,"excerpt":"Docker Compose\u3092\u4f7f\u7528\u3059\u308b | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f (taki-lab.site)\u2026","rel":"","context":"\u6280\u8853","block_context":{"text":"\u6280\u8853","link":"https:\/\/taki-lab.site\/bocci\/?cat=3"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/04\/f28832ff0fe55bae2cadd4577723df49.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":10201,"url":"https:\/\/taki-lab.site\/bocci\/?p=10201","url_meta":{"origin":10044,"position":5},"title":"\u3010DIRECTX\u3011DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e6(\u6955\u5186\u3092\u63cf\u304f)","author":"taki","date":"2023\u5e742\u670822\u65e5","format":false,"excerpt":"\u3010DirectX\u3011DIRECT2D\u3092\u8a66\u3059\u3001\u305d\u306e5(\u76f4\u7dda\u3092\u5f15\u304f) | \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f (ta\u2026","rel":"","context":"\u6280\u8853","block_context":{"text":"\u6280\u8853","link":"https:\/\/taki-lab.site\/bocci\/?cat=3"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/1c2c5e1d1a6e7e918aa23d1f7de3993f.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/1c2c5e1d1a6e7e918aa23d1f7de3993f.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/1c2c5e1d1a6e7e918aa23d1f7de3993f.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/1c2c5e1d1a6e7e918aa23d1f7de3993f.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/02\/1c2c5e1d1a6e7e918aa23d1f7de3993f.png?resize=1050%2C600&ssl=1 3x"},"classes":[]}],"jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/10044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10044"}],"version-history":[{"count":1,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/10044\/revisions"}],"predecessor-version":[{"id":10047,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/10044\/revisions\/10047"}],"wp:attachment":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}