ฉันสามารถถ่ายภาพหน้าจอเป็นกราฟิกแบบเวกเตอร์หรือที่ความละเอียดสูงกว่าแบบดั้งเดิมได้หรือไม่


32

ฉันต้องจับภาพหน้าจอของหน้าต่างแอปพลิเคชั่น ความละเอียดแล็ปท็อปของฉันต่ำและฉันต้องการได้ภาพที่มีคุณภาพสูง

มีวิธีที่จะคว้าหน้าจอเป็นกราฟิกแบบเวกเตอร์ (เช่น EPS, PDF, SVG) หรือไม่ อีกวิธีหนึ่ง, มีวิธีการจับภาพหน้าจอที่มีความละเอียดสูงกว่าดั้งเดิมหรือไม่?

ความละเอียดดั้งเดิมของฉันคือ 1366x768 ในขณะที่ฉันต้องการความละเอียดอย่างน้อยเกือบ 4,000x3000



ฉันถือว่า Windows เป็นคำถามของคุณ โปรดแก้ไขและติดแท็กใหม่หากไม่เป็นเช่นนั้น
slhck

> คุณสามารถลองค้นหาการปรับขนาด UI แต่นั่นไม่ได้เปลี่ยนจำนวนพิกเซลทั้งหมดที่แสดงบนหน้าจอหรือสามารถจับภาพได้
Synetech

1
ดูเหมือนว่าจะสับสนอย่างมาก สมมติว่าคุณมีจอแสดงผลขนาด 10k คูณ 10k คุณคิดว่าหน้าต่างแอปพลิเคชั่นควรมีลักษณะอย่างไร มันควรมีรายการมากกว่านี้หรือคุณต้องการให้มีรายละเอียดเพิ่มเติมในรายการเดียวกันหรือไม่? มันเป็นแอปพลิเคชั่น win32 แบบดั้งเดิมหรือชุดเครื่องมืออื่น ๆ เช่น Qt, Java หรือแม้แต่หน้าต่าง OpenGL หรือ DirectX?
Eroen

2
ความคิดที่แตกต่าง ฉันรู้ว่าฉันไม่สามารถสร้างพิกเซลที่หน้าจอไม่มี ฉันกำลังมองหาเครื่องมือปรับปรุงความละเอียดการแสดงผล "เสมือน" เช่นนั้นฉันสามารถตั้งค่าความละเอียดใด ๆ และถ้ามันสูงกว่าความสามารถในการแสดงผลฉันจะต้องเลื่อนหน้าจอดูทุกครั้งเพียงแค่ส่วนย่อยของมันและสามารถพิมพ์ได้ หน้าจอเสมือนกับภาพแทนชุดหน้าจอเสมือนจริงที่กำลังดู
Alfatau

คำตอบ:


21

แน่นอน! ใช่คุณสามารถทำได้ คุณจะต้องใช้เครื่องมือการแสดงผล UI ที่มีเวกเตอร์แบ็กเอนด์ Gtk + 3+ มีแบ็กเอนด์นั้น โปรดดูโครงการนี้:

แต่คุณควรรู้ว่าแอปพลิเคชันควรจะสามารถทำงานบน Linux ได้โดยใช้ Gtk + บางทีคุณอาจสร้าง mockups ด้วยวิธีนี้หรือใช้ Microsoft Visio สำหรับการแสดงผลแบบเวกเตอร์

ดูตัวอย่างเหล่านี้:

หากคุณเป็นผู้ใช้ Debian / Ubuntu สำหรับการติดตั้งคุณสามารถทำได้

$ sudo apt-get install gtk-vector-screenshot
$ take-vector-screenshot

จากนั้นคุณจะต้องเลือกแอปพลิเคชันที่คุณต้องการจับภาพหน้าจอด้วยเมาส์ของคุณ แอปพลิเคชั่นควรเป็น Gtk + 3 สำหรับภาพหน้าจอเวกเตอร์ที่ประสบความสำเร็จ ผลลัพธ์จะเป็นไฟล์ PDF ในไดเรกทอรีทำงานปัจจุบัน

แอปพลิเคชัน take-vector-screenshot

PS: ข่าวดี: Firefox 42 จะใช้ Gtk + 3


1
ดี! แม้ว่าคำถามจะถูกแท็ก Windows แต่นี่ยังเป็นคำตอบที่มีประโยชน์มากสำหรับผู้เข้าชมในอนาคตที่พบคำถามนี้
Arjan

1
ขอบคุณจริงๆแล้วแท็กนั้นไม่ได้มาจากคนที่ถามคำถาม อันที่จริงนี่เป็นกระบวนการที่ค่อนข้างยุ่งยาก แต่ด้วย Metro และ Retina บางทีนี่อาจเป็น / จะเป็นไปได้บน Win / Mac มันสมควรได้รับการวิจัยที่ดี
Ho1

@ Ho1 จากการค้นหาออนไลน์ดูเหมือนว่า OS X สามารถรับสกรีนช็อต
Andrea Lazzarotto

@AndreaLazzarotto ขอบคุณ แต่มันคือเวกเตอร์ ฉันหาลิงค์ดาวน์โหลดไม่เจอ หากคุณมี Mac คุณสามารถสร้างภาพหน้าจอ PDF ด้วยตัวเองได้ไหม? เรามีการพูดคุยเกี่ยวกับภาพหน้าจอแบบเวกเตอร์ของ Mac ที่นี่: apple.stackexchange.com/a/144596/90089
Ho1

1
ฉันสามารถสร้างภาพหน้าจอของโปรแกรมอื่น ๆ ได้ แต่ถ้าฉันทดลองใช้ด้วย Firefox มันต้องใช้ภาพหน้าจอ แต่หน้าจอว่างเปล่าทั้งหมด ทำงานบน Ubuntu Gnome การจับภาพหน้าจอของ Midori หรือ Chromium ไม่ทำงานโดยไม่มีข้อความแสดงข้อผิดพลาดหรือเปิดหน้าต่างใด ๆ ...
nnn

10

จับภาพเป็นเวกเตอร์หรือไม่ ไม่แน่นอน ไม่มีวิธีใดที่โปรแกรมจับภาพจะรู้อะไรเกี่ยวกับรูปทรงเรขาคณิตของรูปร่างบนหน้าจอโดยไม่ต้องขออะไรเข้าไปในโปรแกรมที่กำลังวาดรูป

คุณสามารถทำอะไร แต่คือการจับภาพแรสเตอร์แล้วแปลงที่เวกเตอร์ มีเครื่องมืออย่างInkscapeที่สามารถทำการแปลงนี้ได้ (โดยปกติคุณจะต้องทำการปรับแต่งด้วยตนเองและถึงแม้ว่าคุณจะไม่ค่อยได้ผลลัพธ์ที่สมบูรณ์แบบจากพิกเซล)

สำหรับความละเอียดเมื่อคุณทำการจับภาพจะไม่สามารถบันทึกข้อมูลได้มากกว่าที่มี คุณสามารถปรับขนาดภาพที่ได้ใหม่อีกครั้งและหากคุณใช้อัลกอริธึมการปรับขนาดที่ดีพิกเซลที่ถูกสอดแทรกจะผสมผสานกันได้ค่อนข้างดี แต่ไม่มีวิธีที่จะประดิษฐ์ข้อมูลพิกเซลได้มากกว่าที่มีอยู่

ในทางทฤษฎีมันอาจเป็นไปได้ที่จะใช้ระบบบางอย่างซึ่งทุกอย่างถูกแสดงผลภายในด้วยความละเอียดสูงกว่าและส่งไปยังหน้าจอในระดับที่น้อยกว่า แต่ก็ต้องได้รับการสนับสนุนพิเศษทั้งในระบบปฏิบัติการและไดรฟ์ ไม่น่าจะนำมาใช้เนื่องจากมีข้อ จำกัด ในการใช้งานมากและจะเป็นการสิ้นเปลืองความจำในสถานการณ์ส่วนใหญ่เท่านั้น

คุณอาจสามารถใช้การแพนเดสก์ท็อปเพื่อให้ได้เดสก์ท็อปที่มีความละเอียดสูงกว่าที่หน้าจอรองรับ แต่จำเป็นต้องให้ไดรเวอร์ของคุณรองรับอีกครั้ง


1
สมมติว่าหน้าต่างมีจานสีขนาดเล็กและค่อนข้างง่ายมีen.wikipedia.org/wiki/Pixel_art_scaling_algorithmsที่อาจมีประโยชน์
Eroen

@ hit-and-run-down-voter ปัญหาของคุณคืออะไร (ถ้ามี) คนอื่นดูเหมือนจะชอบคำตอบดังนั้นฉันจึงไม่สามารถแก้ไขปัญหาใด ๆ ที่คุณอาจมีหรือไม่มีกับมันหากคุณไม่ต้องการออกความคิดเห็น
Synetech

1
คุณคิดผิด - องค์ประกอบ GUI ส่วนใหญ่เป็นแบบเวกเตอร์รวมถึงการไล่ระดับสี แต่ - ระบบปฏิบัติการหลักและเฟรมเวิร์ก GUI และ API ให้ผู้ฟังภายนอกสำหรับเครื่องมือจับหน้าจอและนี่เป็นปัญหาใหญ่ แต่ไม่มีโปรแกรมจับภาพที่รู้จักกันดีที่สนับสนุนสิ่งนี้ ตัวอย่างเช่นคุณสามารถดูที่ไคลเอนต์ Windows Inspect ปกติ: มันสามารถคว้ากิจกรรม UI ทั้งหมดและคุณสามารถสร้างเครื่องมือของคุณเองซึ่งจะทำให้กิจกรรมนี้เป็นภาพหน้าจอแบบเวกเตอร์
Dmitry Ponyatov

แต่สำหรับแอปพลิเคชั่นจับภาพเวกเตอร์ตัวจริงคุณต้องรวม OCR และโมดูลการติดตามเป็นทางเลือก - โปรแกรมจำนวนมากใช้บิตแมปที่คำนวณล่วงหน้าแล้วและนี่เป็นปัญหาใหญ่อีกอันหนึ่ง (เป็นแรงบันดาลใจด้านการตลาด)
Dmitry Ponyatov

0

ได้ในขณะนี้ สิ่งนี้ควรเป็นไปได้ แต่ไม่ใช่

ทั้งสองเป็น UIs เวกเตอร์ดั้งเดิม แต่อนุญาตให้ใช้บิตแมปได้เช่นกัน - นี่เป็นแบบที่ยอดเยี่ยมสำหรับ SVG อย่างไรก็ตามในขณะที่เครื่องมือในการส่งออก WPF ไปยัง SVG นั้นมีอยู่ส่วนใหญ่จะมุ่งไปที่นักพัฒนาซอฟต์แวร์ ตัวอย่างเช่นคุณต้องการ XAML source ของแอปพลิเคชันของคุณจากนั้นส่งออกไปยัง SVG


-1

สำหรับผู้ใช้ UNIX คุณสามารถใช้ KSnapShot หรือ GIMP รายละเอียดเพิ่มเติมได้รับในหน้าจอกราฟิก

ในการติดตั้ง KSnapShot คุณสามารถใช้ลิงค์นี้ KSnapShot

GIMP พร้อมใช้งานสำหรับ Windows เช่นกัน


สิ่งเหล่านี้ดูเหมือนจะเป็นแค่เครื่องมือสแน็ปช็อตปกติไม่มีอะไรพูดถึงกราฟิกแบบเวกเตอร์หรือความละเอียดสูงกว่าบนหน้าจอ ฉันจะผิดหรือเปล่า?
TS
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.