2014-12-04 6 views
5

के माध्यम से के साथ बहुभुज को भरने मैं (2 डी में पदों) 4 नाव अंक है और मैं आकर्षित और sharpdx का उपयोग कर 2 डी में (उन 4 पदों पर कोने के साथ) एक बहुभुज को भरने के लिए चाहते हैं। क्या कोई मुझे मार्गदर्शन कर सकता है? मै खो गया हूँ। एक नमूना कोड मेरे लिए बेहतर होगा क्योंकि नई अग्रिम धन्यवादड्रा और 4 कोने (2 डी में पदों) sharpdx एपीआई

+0

कोई मदद नहीं आती है! – smoothumut

+3

यह अस्पष्ट होने के रूप में कैसे बंद किया गया था? यह पूरी तरह से स्पष्ट है। मैं थोड़ी सी कोशिश के बिना समझ गया, इसलिए यदि आपने अस्पष्ट होने के नाते उस प्रश्न को बंद करने के लिए वोट दिया, तो शायद आपको प्रोग्रामर के रूप में कैरियर की पसंद की समीक्षा करनी चाहिए। या शायद आप ग्राफिक प्रोग्रामिंग से परिचित नहीं हैं? उस मामले में, फिर से, इसे अस्पष्ट के रूप में बंद करने के लिए मतदान करने का कोई कारण नहीं है यदि आप ड्रा, भरें और बहुभुज जैसी शर्तों से अपरिचित हैं। –

+0

मैं एमबीरॉन से सहमत हूं; मैंने शीर्षक और प्रश्न दूसरों को स्पष्ट करने के लिए संपादित किया है। – ToolmakerSteve

उत्तर

6

मुझे पॉलीगॉन को आकर्षित और भरने का तरीका मिला है। मैंने DrawGeometry और RenderTarget ऑब्जेक्ट की fillGeometry विधियों का उपयोग किया है।

मैं अभ्यस्त DirectX

PathGeometry geo1; 
    GeometrySink sink1; 

     FactoryD2D factory = new FactoryD2D(); 
     var dpi = factory.DesktopDpi; 
     RenderTarget renderTarget; 

     renderTarget = new RenderTarget(factory, backBuffer, new RenderTargetProperties() 
     { 
      DpiX = dpi.Width, 
      DpiY = dpi.Height, 
      MinLevel = SharpDX.Direct2D1.FeatureLevel.Level_DEFAULT, 
      PixelFormat = new SharpDX.Direct2D1.PixelFormat(Format.Unknown, AlphaMode.Ignore), 
      Type = RenderTargetType.Hardware, 
      Usage = RenderTargetUsage.None 
     }); 

     // and after all initialization 

      pta[0] = new SharpDX.Vector2(pts[4].X, pts[4].Y); 
      pta[1] = new SharpDX.Vector2(pts[5].X, pts[5].Y); 
      pta[2] = new SharpDX.Vector2(pts[6].X, pts[6].Y); 
      pta[3] = new SharpDX.Vector2(pts[7].X, pts[7].Y); 

      geo1 = new PathGeometry(factory); 
      sink1 = geo1.Open(); 
      sink1.BeginFigure(pta[0], new FigureBegin()); 
      sink1.AddLines(new SharpDX.Vector2[] { pta[1], pta[2], pta[3] }); 
      sink1.EndFigure(new FigureEnd()); 
      sink1.Close(); 

     Color penColor = Color.Black; 
     SolidColorBrush penBrush = new SolidColorBrush(g, new SharpDX.Color(penColor.R, penColor.G, penColor.B)); 
     Color color = AddColor(pt, zmin, zmax); 
     SolidColorBrush aBrush = new SolidColorBrush(g, new SharpDX.Color(color.R, color.G, color.B)); 

      renderTarget.DrawGeometry(geo1, penBrush); 
      renderTarget.FillGeometry(geo1, aBrush); 
      geo1.Dispose(); 
      sink1.Dispose(); 

आप कोई ऐसा जो खो दिया है और करने के लिए कोशिश कर रहा है करने के लिए इस मदद से इसके

आशा के बारे में अधिक आकार जोड़ने के लिए अन्य GEOS और सिंक में जोड़ सकते हैं प्रारंभ करने में कैसे उल्लेख मुझे उत्तर दें

+0

बहुत बहुत धन्यवाद !!! – bboyle1234

संबंधित मुद्दे