Kopi,
समाधान के कई दृष्टिकोण हैं, लेकिन यह सबसे सरल (आपकी आवश्यकताओं के आधार पर) हो सकता है:
QgsVectorLayer का उपयोग करके सुविधा का चयन करें
अपने वेक्टर लेयर (vlayer) और फीचर के id (fid) का संदर्भ मानते हुए। यह सभी देखें
vlayer.select(fid)
QgsInterface का उपयोग करके चयनित सुविधा पर ज़ूम करें
qgis.utils.iface.actionZoomToSelected().trigger()
QgsVectorLayer का उपयोग करते हुए सुविधा को अचयनित करें
vlayer.deselect(fid)
QgsMapCanvas का उपयोग करके चित्र के रूप में कैनवास सहेजें
qgis.utils.iface.mapCanvas().saveAsImage('/Users/me/Desktop/feature.png')
यह दृष्टिकोण जितना संभव हो उतने बड़े फोटो का उत्पादन करता है, यदि आपकी विंडो को पूर्ण रूप से विस्तारित किया गया है, क्योंकि कैनवास को सहेजना स्क्रीन रिज़ॉल्यूशन पर है। हालांकि, यह सुनिश्चित नहीं करता है कि आपके चित्र समान मानचित्र ज़ूम स्केल पर होंगे, केवल अपेक्षाकृत पिक्सेल आकार। अन्य विकल्प भी हैं जैसे QgisInterface::actionPanToSelected()
कि आपको ज़ूम स्केल को सुसंगत रखने की आवश्यकता है।