การลบการแปลงในไฟล์ SVG


155

ฉันดิ้นรนกับสิ่งนี้มาระยะหนึ่งแล้วดูเหมือนจะไม่สามารถหาคำตอบได้ ฉันมีไฟล์ SVG ซึ่งมีลักษณะเช่นนี้:

<svg

   xmlns:dc="http://purl.org/dc/elements/1.1/"
   ...
   width="72.9375"
   height="58.21875"
   ...>
   ...
   <g
     ...
     transform="translate(10.75,-308.96875)"
     style="...">
     <path
       inkscape:connector-curvature="0"
       d="m -10.254587,345.43597 c 0,-1.41732 0.17692,-2.85384 0.5312502,-3.5625 0.70866,-1.41733 2.14518,-2.82259 3.5625,-3.53125 1.41733,-0.70866 2.11392,-0.70867 3.53125,0 1.41732,0.70866 ... z"
       ... />
  </g>
</svg>

ฉันต้องการลบtransform="..."เส้น แต่ยังมีภาพอยู่ที่ซึ่งฉันวางไว้ (ใน InkScape) หากฉันลบการแปลงด้วยตนเองรูปภาพจะซิปไปยังส่วนอื่นของหน้าจอ (ตามที่คาดไว้) แต่ฉันต้องกำจัดการแปลงทั้งหมดและในเวลาเดียวกันให้ภาพอยู่ตรงที่ฉันต้องการ มีวิธีลบ / แปลงให้แบนเป็นเส้นทางที่พิกัดตัวเอง? (การเปลี่ยนแปลงเพียงอย่างเดียวที่ฉันต้องจัดการคือการแปลและปรับขนาดไม่มีเมทริกซ์)



1
cross
-linking

คำตอบ:


149

วิธีลบการแปลงใน Inkscape

  1. เปิดไฟล์ svg ใน Inkscape
  2. ไปที่แก้ไข -> ตัวแก้ไข XML
  3. ค้นหาคุณลักษณะ "แปลง" ในเลเยอร์และลบออก

วิธีการย้ายวัตถุทั้งหมดทั้งหมดโดยไม่สร้างคุณลักษณะการแปลงอื่น

  1. ไปที่แก้ไข -> เลือกทั้งหมดในทุกเลเยอร์
  2. ไปที่วัตถุ -> แปลง

    ในแผงการแปลง

  3. ยกเลิกการเลือกการย้ายญาติและตรวจสอบนำไปใช้กับแต่ละวัตถุแยกกัน

  4. ตั้งค่าแนวนอนและแนวตั้งตามความต้องการของคุณแล้วคลิกนำไปใช้

16
ทำงานให้ฉัน ต้องยกเลิกการจัดกลุ่มวัตถุก่อนที่จะถูกแปลงเพื่อให้พิกัดของเส้นทางที่แท้จริงได้รับการปรับปรุง
Rupert Angermeier

8
อืมหลังจากตั้งค่าเป็น 0 และคลิกใช้การแปลงจะแสดงขึ้นในตัวแก้ไข XML อีกครั้ง
escapedcat

7
การแกะวัตถุเป็นสิ่งจำเป็นสำหรับการทำงานให้ฉันขอบคุณ!
Hai จาง

1
ไม่ได้ผลสำหรับฉัน มันจะทำให้แบนและย้ายแอตทริบิวต์การแปลงเป็นใบไม้ (อันที่จริงทุกอย่างกลายเป็นใบไม้หลังจากยกเลิกการจัดกลุ่ม) แต่จะไม่ลบแอตทริบิวต์การแปลงและนำไปใช้กับจุดเรขาคณิตโดยที่ฉันกลับมาที่จัตุรัสหนึ่ง
Szczepan Hołyszewski

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

52

ฉันคิดว่าปัญหาเป็นอย่างไร ฉันหวังว่าจะไม่ต้องตอบคำถามของโรเบิร์ตแม้ว่าฉันจะดีใจที่ได้รับการยืนยันว่าจะได้ผล! ในท้ายที่สุดคำตอบของ Duopixel นั้นใกล้เคียงที่สุดแล้วถึงแม้ว่ามันจะกลายเป็นอย่างอื่นก็ตาม

เมื่อคุณทำงานกับเส้นทางที่แตกต่างกันในเอกสาร Inkscape ฉันเชื่อว่าพฤติกรรมเริ่มต้นคือการจัดกลุ่มพวกเขาเข้าด้วยกันภายใต้ <svg:g.../>แท็ก เมื่อแก้ไขเส้นทางในกลุ่ม Inkscape จะเพิ่มการแปลงให้กับกลุ่มโดยอัตโนมัติเพื่อแสดงการเปลี่ยนแปลงเหล่านี้ อย่างไรก็ตามหากคุณเปิดตัวแก้ไข XML และลากเส้นทางของคุณออกไปนอก<svg:g.../>แท็กและทำให้มันเป็น<svg:path.../>แท็กของตัวเองInkscape มีอิสระที่จะแก้ไขแต่ละจุดตามต้องการ ในที่สุดมันก็กลายเป็นปัญหาการจัดกลุ่มแม้ว่าฉันจะทำงานกับเส้นทางเดียวเท่านั้น! หวังว่านี่จะช่วยผู้อื่นในสถานการณ์ที่คล้ายคลึงกัน


7
! น่ากลัว ขอบคุณ! นั่นคือสิ่งที่มันทำ ฉันเพิ่งลบแท็กกลุ่มออกจากเนื้อหาภายในบันทึกและเปิดใหม่ใน inkscape แน่นอนว่าภาพอยู่นอกกล่องรับชม (หรืออะไรก็ตามที่เรียกว่า) แต่จากนั้นฉันเพิ่งตั้งค่า x, y และได้รับการแก้ไข ช่างเจ็บปวดเหลือเกิน ขอบคุณที่แชร์สิ่งนี้!
johnt Entrepreneur

1
ในกรณีของฉันฉันได้รวมวิธีการจากคำตอบนี้กับอีกคนหนึ่งจากคำตอบที่ว่า
quasiyoke

สิ่งนี้ควรได้รับการยกระดับและนำขึ้นสู่ระดับสูงสุด มันแก้ปัญหาได้อย่างสวยงามและทำงานให้ฉัน และแม้ว่ากราฟิกจะวางผิดที่นอกพื้นที่ผ้าใบคุณสามารถปรับขนาดได้ตลอดเวลา (แก้ไข> ปรับขนาดหน้าเป็นการเลือก)
แมนดาริน

48

ป้อนคำอธิบายรูปภาพที่นี่

  1. โหลด SVG ของคุณในวิธีการวาดhttp://editor.method.ac (ไฟล์> เปิดภาพ)
  2. ยกเลิกการจัดกลุ่มองค์ประกอบของคุณ (วัตถุ> ยกเลิกการจัดกลุ่มองค์ประกอบ) คุณอาจต้องทำมากกว่าหนึ่งครั้ง
  3. เลือกเส้นทางของคุณ
  4. ปรับเส้นทางใหม่ (Object> Reorient Paths)
  5. บันทึกภาพของคุณ (ไฟล์> บันทึกภาพ) หากปรากฏในหน้าต่างใหม่คุณสามารถคลิกขวาและ "บันทึกภาพเป็น ... "

1
ไม่มีวัตถุ> เส้นทางที่เชื่อง คุณหมายถึงเวอร์ชั่นใด?
0__

1
@ 0__ หากรายการเมนูนี้ถูกปิดใช้งานหมายความว่าเส้นทางของคุณยังอยู่ในกลุ่ม ยกเลิกการจัดกลุ่มอีกครั้ง
methodofaction

37

มีส่วนขยาย inkscape ที่เรียกว่าใช้การแปลงที่คำนวณเส้นทางใหม่ด้วยการแปลง นี่คือสิ่งที่ฉันกำลังมองหา

หลังจากติดตั้งแล้วคุณจะพบว่าภายใต้เมนูส่วนขยาย> ปรับเปลี่ยนเส้นทาง> Apply แปลง


เครดิต: ฟอรัม Inkscape> ลบการแปลงทั้งหมดในขณะที่อยู่ในสถานที่


ส่วนขยายนี้ได้รับการอัปเดตและตอนนี้ก็ใช้ได้กับ rects ด้วยอย่างน้อยในการทดสอบ
sil

อย่างแน่นอน พลังของปลั๊กอินเล็ก ๆ น้อย ๆ นี้มอบให้คุณนับไม่ถ้วน!
brett

23

สำหรับการจัดกลุ่มใหม่สามารถทำงานได้อย่างรวดเร็ว เลือกกลุ่มและกด Ctrl + Shift + G (กลุ่มย่อย) จากนั้นกด Ctrl + G (กลุ่ม)

สำหรับวัตถุบางอย่างที่มีปัญหาคล้ายกันเป็นเกลียวและดาวตัวอย่างเช่นวิธีที่รวดเร็วคือการกด Ctrl + Alt + C (ลากเส้นเป็นเส้นทาง) - อย่างไรก็ตามสิ่งนี้จะแปลงวัตถุเป็นเส้นทางบริสุทธิ์และลบคุณลักษณะพิเศษทั้งหมด เช่น sodipodi: cx, sodipodi: การปฏิวัติและอื่น ๆ


23

เปิด svg ของคุณบนInkscape :

  • เลือกกลุ่มที่มีการแปลงทั้งหมดที่คุณต้องการกำจัด
  • กดCTRL+ U(ยกเลิกการจัดกลุ่ม)
  • กดCTRL+ G(กลุ่มอีกครั้ง)

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


1
ที่สมบูรณ์แบบ! สิ่งนี้ทำงานใน Inkscape 1.0
Wizard of Ogz

14

จากประสบการณ์ของฉันถ้าคุณใช้ Inkscape ก็พอเพียงที่จะย้ายองค์ประกอบพา ธ เล็กน้อย (เช่นด้วยปุ่มเคอร์เซอร์) และ Inkscape จะลบแอ็ตทริบิวต์การแปลงและปรับข้อมูลเส้นทางตามนั้น (น่ารำคาญถ้าคุณต้องการเก็บแอตทริบิวต์การแปลงไว้จริงๆ)

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


1
ดูเหมือนจะไม่ทำงานกับองค์ประกอบ <g> ฉันพยายามกำจัดแอตทริบิวต์การแปลงสภาพ
Max Spring

5
อาจลองยกเลิกการจัดกลุ่มก่อนและจัดกลุ่มใหม่ในภายหลัง
โทมัส W

1
ว้าวทำงานเหมือนมีเสน่ห์! นี่ควรเป็นคำตอบที่ยอมรับได้ ไม่ต้องใช้เครื่องมือพิเศษใด ๆ ไม่มีขั้นตอนที่ซับซ้อน คำตอบอื่น ๆ ไม่ทำงานถ้าเส้นทางซ้อนในการเปลี่ยนและฉันต้องการที่จะให้การแปลงบน<g> <g>
tomekwi

ใช้งานไม่ได้กับเส้นทางที่สร้างโดยเครื่องมือวงกลมเช่นกัน
sdaau

1
คำตอบที่ดีที่สุด บางทีหนึ่งแหล่งที่มาของความสับสนคือการตั้งค่า> เปลี่ยน> ตัวเลือกการเปลี่ยนรูปแบบร้านค้าซึ่งฉันไม่เห็นมีการกล่าวถึงที่อื่นที่นี่ ควรตั้งค่าเป็น "ปรับให้เหมาะสม" จากนั้นเพียงยกเลิกการจัดกลุ่มย้ายย้ายกลุ่มอีกครั้งและการแปลง dud จะถูกลบออก
Mr5o1

13

ในขณะที่ฉันชอบ Inkscape, Affinity Designer (~ $ 40 / Mac) ช่วยให้ฉันประหยัดเวลาได้มากเมื่อทำงานกับ Android Vector Drawables

เปิด SVG, ไฟล์ -> ส่งออก -> SVG -> เพิ่มเติม -> แปลงแบบแบนทำได้ดีมาก

Affinity Designer


12

SVGOเป็นเครื่องมือบรรทัดคำสั่งโอเพ่นซอร์สที่ยอดเยี่ยมสำหรับเรื่องนี้และการเพิ่มประสิทธิภาพอื่น ๆ อีกมากมาย มี UI เว็บออนไลน์ที่ยอดเยี่ยมไม่แพ้กัน SVGOMG

ตัวเลือกที่เกี่ยวข้องในกรณีนี้moveGroupAttrsToElems(SVGOMG: Move group attrs to elements) เพื่อย้ายtransformแอตทริบิวต์จากกลุ่มองค์ประกอบเส้นทางบวกconvertPathData(SVGOMG: Round/rewrite paths) จะแผ่เข้ามาtransformd


1
SVGO นั้นเหลือเชื่อ นี่ควรเป็นคำตอบที่ได้รับการยอมรับโดยเฉพาะอย่างยิ่งเนื่องจาก stackoverflow สำหรับมุมมองของโปรแกรมเมอร์และนี่คือทางออกที่ดีที่สุดสำหรับโปรแกรมเมอร์ที่พัฒนาเว็บไซต์ที่มี SVG การนำสิ่งนี้ไปใช้ในการวางระบบของคุณนั้นดีกว่าการสอนให้ศิลปินของคุณลบการแปลงด้วยมือ (หรือต้องทำเอง) และรับรายงานข้อผิดพลาดทุกครั้งที่พวกเขาลืม
UTF_or_Death

3
ยกเว้นสิ่งนี้จะไม่ทำงานอีกต่อไป ผมจำได้ว่ามันทำงานได้ดีขึ้นครั้งเดียว แต่เห็นปัญหานี้เกี่ยวกับคุณลักษณะนี้แน่นอนgithub.com/svg/svgo/issues/624สำหรับ SVGO
morewry

9

ควรกล่าวถึงว่ามีโหมด "ปรับให้เหมาะสม" ในการกำหนดค่าตามความชอบ:

การกำหนดค่าตามความชอบ Inkscape> การแปลง> การแปลงสภาพของร้าน> ปรับให้เหมาะสม

ซึ่งควรจะลดการเกิดขึ้นของtransformคุณลักษณะให้มากที่สุดเท่าที่จะทำได้ (แต่ไม่ได้)

โดยค่าเริ่มต้นนี้ดูเหมือนว่าจะเปิดอยู่

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


2
หากต้องการปรับขนาดหน้าโดยไม่ต้องสร้างการtranslateแปลงที่น่ารำคาญในทุกเลเยอร์ลองเปิด.svgไฟล์ในเท็กซ์เอดิเตอร์และจัดการแอ็ตทริบิวต์ความสูงและความกว้างที่ปรากฏที่ด้านบน
กุมภาพันธ์กุมภาพันธ์

7

Inkscape มีตัวเลือกเพื่อล้างข้อมูลการแปลง แต่ยังคงค่าของวัตถุที่ไม่ได้แก้ไข

ใน Inkscape เลือกวัตถุและเมนู 'เส้นทาง', 'ลดความซับซ้อน' ตอนนี้คุณจะต้องลบการแปลง


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

1
สิ่งนี้มักทำให้มาร์กอัพมีขนาดใหญ่กว่าก่อนการแปลง
Charlie

6

ในกรณีนี้เพียงเพิ่มการแปลเป็นค่า m สำหรับเด็กแต่ละคนดังนั้น -10.254587 + 10.75 = -0.504587 และ -308.96875 + 345.43597 = 36.46722

เนื่องจากคำทั้งหมดในตัวอย่างเป็นแบบสัมพัทธ์ (เช่นตัวพิมพ์เล็ก) นั่นคือทั้งหมด ถ้ามีแน่นอน (ตัวพิมพ์ใหญ่) เช่น M หรือ C พวกเขาก็จะต้องปรับเช่นกัน

สำหรับสเกลคุณต้องคูณค่าเด็กทั้งหมดด้วยสเกล


ฉันทำอย่างนั้น แต่ใน Inkspace XML editor (หรือตัวแก้ไขอื่น ๆ ) การแปลงยังคงเพิ่มอยู่ แปลก.
escapedcat

1
คุณจะปรับ C ด้วยวิธีใดถ้าคุณมี subpaths 2 ตัวเช่น M 8.0 12.0 C 11.3 13.1 14.9 13.55 16.0 13.0 C 2.4 9.8 2.8 10.2 8.0 12.0 C 7.6 7.8 7.6 8.1 5.0 9.0 และ M 3.0 5.0 2.4 2.4 5.0 5.0 คุณต้องการที่จะแปลงเป็นหนึ่งเส้นทาง?
ตั้งค่า

@Aton ใช้ปุ่มถามคำถามหากคุณมีคำถามที่ไม่ครอบคลุมโดยคำตอบที่มีอยู่ เป็นการยากที่จะถามและตอบคำถามในความคิดเห็นเนื่องจากมีการจัดรูปแบบที่ จำกัด มาก
Robert Longson

2
@ RobertLongson คุณทำได้ดีมาก สิ่งที่ฉันต้องการคือให้คุณอธิบายอย่างละเอียดว่า "ถ้ามีแน่นอน (ตัวพิมพ์ใหญ่) เช่น M หรือ C พวกเขาก็จะต้องปรับเช่นกัน"
ตั้งค่า

6
  1. เลือกองค์ประกอบที่เป็นปัญหา
  2. วัตถุ> เลิกจัดกลุ่ม (ทำซ้ำจนกระทั่งทุกอย่างไม่ได้จัดกลุ่มดูที่เครื่องมือแก้ไข XML สำหรับโหนดที่ซ้อนกัน)
  3. Path> Object to Path (แปลงรูปหลายเหลี่ยมเป็นเส้นทาง)
  4. Object> Transform> Uncheck ย้ายญาติ> Apply

ดูเหมือนจะไม่ทำงานใน Inkscape 0.91 <g>กับtransformการเข้าพักแอตทริบิวต์เช่นเดียวกับที่มันเป็น นอกจากนี้วัตถุของฉัน (เช่นเดียวกับที่แสดงในคำถามที่นี่) เป็นเส้นทางอยู่แล้ว
หรือผู้ทำแผนที่

คุณสามารถวางลิงค์ไปยัง SVG ของคุณได้หรือไม่?
Charlie

5

ในการลบคุณสมบัติการแปลงสภาพจากgองค์ประกอบ (กลุ่ม) ใน Inkscape คุณสามารถย้ายกลุ่มไปยังตำแหน่งสุดท้ายยกเลิกการจัดกลุ่มแล้วจัดกลุ่มองค์ประกอบทั้งหมดใหม่ ขณะนี้มีการสร้างกลุ่มใหม่และหากคุณไม่ย้ายอีกครั้งกลุ่มนั้นจะไม่ได้รับแอททริบิวการแปลงที่แนบมาด้วย


4

หากใครมาที่นี่เพื่อหาทางออกให้ทำใน Sketch 3 ให้เลือกเลเยอร์แล้วคลิกที่ Layer-> Paths-> Flatten


3

พบมัน:

  • ตั้งขนาดหน้ากระดาษที่คุณต้องการ *
  • หากเลเยอร์ปัจจุบันของคุณมีการแปลงรูป (ตรวจสอบกับเครื่องมือแก้ไข XML นั่นคือกลุ่มบนสุดภายใต้องค์ประกอบ SVG) จากนั้นสร้างเลเยอร์ใหม่และย้ายวัตถุทั้งหมดไปที่มัน
  • ยกเลิกการจัดกลุ่มกลุ่มใด ๆ (อาจไม่จำเป็นต้องใช้ YMMV)
  • เลือกวัตถุทั้งหมดและใช้การแปลงค่า Null (เช่นสเกล 100% 100% หรือลูกศรขวา + ลูกศรซ้าย) ในขณะที่มีการแปลงของ Store: ปรับให้เหมาะสมในการตั้งค่า / การแปลง
  • หากคุณต้องยกเลิกกลุ่มใด ๆ คุณสามารถจัดกลุ่มใหม่ได้
  • บันทึกสำเนาเป็น SVG ที่ปรับให้เหมาะสมแล้วตั้งค่าความแม่นยำตัวเลขที่คุณต้องการ

*: หรืออย่างน้อยก็วางวัตถุที่คุณต้องการโดยสัมพันธ์กับมุมบนซ้ายของหน้า โชคไม่ดีที่พิกัด SVG อ้างอิงที่มุมซ้ายบนในขณะที่ Inkscape จะปรับขนาดหน้าเทียบกับด้านล่างซ้าย!


ฉันต้องการกลอุบาย "ย้ายไปที่เลเยอร์อื่น" เนื่องจากการแปลงที่ฉันต้องการผลักลงมาอยู่บนเลเยอร์ของ <g> ระบบพิกัดของ Inkscape นั้นค่อนข้างน่ารำคาญ
บ๊อบกลายพันธุ์

3

ฉันสามารถกำจัดการmatrix(...)แปลง (เนื่องจากการทำมิเรอร์) ด้วยการรวมพา ธ กับสี่เหลี่ยมแล้วเอาโหนดของสี่เหลี่ยมผืนผ้าออก translate(...)ส่วนหนึ่งอยู่แม้ว่า


นี่เป็นทางออกเดียวที่ฉันค้นพบ รวมกับเส้นทางใหม่ที่สะอาดแล้วลบส่วนที่ไม่จำเป็นออก
MártonTamás

2

ในกรณีของฉันบันทึกเป็น SVG ที่เหมาะสมแก้ไขปัญหา ดังนั้นใน Inkscape ให้ใช้:

ไฟล์ -> บันทึกเป็น ... -> SVG ที่ปรับให้เหมาะสม


ปัญหาของคุณคืออะไร BTW? ฉันมาที่นี่หลังจากลองทุกอย่าง แต่ปัญหายังคงมีอยู่
Sahu V Kumar

@VishalKumarSahu ฉันไม่สามารถนำเข้าไอคอนแอพ android (SVG) ของฉันเป็นเนื้อหาเนื่องจากtransformAndroid Studio ไม่รองรับ
Michał Stochmal

ใช่และมันก็เป็นกรณีเดียวกันในเว็บด้วย การแปลงสร้างปัญหาในผลลัพธ์ แต่ค่อนข้างมีประโยชน์ในระหว่างการจัดเรียงวัตถุเป็นกลุ่ม ฉันต้องทำการคำนวณเพื่อแก้จุดประสงค์
Sahu V Kumar

2

ใช้งานได้ถ้าคุณใช้ Inkscape:

  1. เลือกทุกอย่างและยกเลิกการจัดกลุ่ม
  2. บันทึกเป็น "Svg ที่ปรับแล้ว (* .svg)"

ในทุกกรณีที่ฉันได้ลองสิ่งนี้ได้ลบคุณลักษณะการแปลงใด ๆ ไม่แน่ใจว่ามันใช้งานได้กับ SVG ที่ซับซ้อนมากขึ้นหรือไม่


1

ฉันลองวิธีแก้ปัญหาที่โพสต์ที่นี่คือลบแท็กกลุ่มในไฟล์ SVG และเปิดใหม่ใน Inkscape (0.48.3.1 ในกรณีของฉัน) อนิจจาหลังจากที่ฉันแปลเส้นทางอีกครั้งโดยใช้โหมดเลือกและแปลง (F1) และบันทึกไว้แท็กกลุ่มจะปรากฏขึ้นอีกครั้ง! Inkscape บันทึกการแปลงทั้งหมดที่ใช้กับเส้นทางในองค์ประกอบกลุ่มโดยรอบ ยกเว้นว่าคุณใช้เครื่องมือการเลือก path-node (F2) ให้กด ctrl + a และย้ายโหนดของพา ธ ไปยังตำแหน่งที่ถูกต้อง หลังจากฉันทำสิ่งนี้แทนและบันทึกหลังจากนั้น Inkscape ไม่ได้เพิ่มแท็กกลุ่มเนื่องจากการแปลนี้นำไปใช้กับรูปแบบเส้นทางโดยตรง หวังว่านี่จะช่วยได้


1

ในกรณีของฉันกลุ่มต่าง ๆ เกิดจากเลเยอร์ การลบเลเยอร์ทั้งหมดในเอกสารลบกลุ่มและการแปลง (อาจรวมกับการไม่จัดกลุ่มวัตถุและจัดกลุ่มใหม่ ฯลฯ ในการลบการแปลงในไฟล์ SVG (answer-35490189 จาก @Charlie ด้านบน))


0

ปัญหาเฉพาะของฉันคือด้วยสัญลักษณ์ที่กำหนดไว้นอกหน้าดังนั้นต้องมีการแปลงจะแสดงบนหน้า

ในการย้ายสัญลักษณ์ไปที่หน้าโดยไม่ต้องทำการแปลงผมต้องทำตามขั้นตอนเหล่านี้ใน Inkscape:

  1. เปิดหน้าต่างสัญลักษณ์ (Shift + Ctrl + Y)
  2. ลบสัญลักษณ์ออกจากไลบรารีเอกสาร (มีปุ่มสำหรับสิ่งนั้นในหน้าต่าง)
  3. ขณะนี้กราฟิกปรากฏขึ้นในเอกสารนอกขอบเขตหน้า
  4. ยกเลิกการจัดกลุ่มกราฟิก (นี่เป็นขั้นตอนสำคัญ!)
  5. ย้ายกราฟิกภายในขอบเขตของหน้า
  6. เพิ่มกราฟิกกลับไปที่ไลบรารีสัญลักษณ์

0

ดูเหมือนสุ่ม แต่ไม่มีอะไรที่ฉันลองใช้งานได้ดังนั้นที่นี่คุณไปสุ่มคนอื่น เส้นทางของฉันบางแห่งมีระยะห่างรอบตัวที่สามารถมองเห็นได้เมื่อเลือกเท่านั้น ( ตัวอย่าง) ฉันคิดว่าสิ่งนี้ถูกสร้างขึ้นเมื่อฉันวางเลเยอร์จากไฟล์ inkscape อื่นและหมุนมัน 90 องศา สิ่งนี้ทำให้รูปแบบการเติมบนรูปร่างมีการแปลงต่างกัน (เส้นที่เว้นระยะห่างออกไปไกลกว่า) นอกจากนี้ยังทำให้วัตถุจัดตำแหน่งไม่ทำงานตามที่คาดไว้ การใช้การแปลงที่กล่าวถึงโดย @Piotr_cz แก้ไขปัญหาการแปลง แต่ยังมีส่วนต่างที่แปลก ฉันตั้งใจกำจัดมันโดยเปลี่ยน Blur on Stroke เป็นค่าใด ๆ และเปลี่ยนกลับเป็นศูนย์


0

ยังไงก็เถอะฉันไม่มีโชคกับวิธีการใด ๆ หากมี<defs>ส่วนใน svg และการใช้งานของคุณเช่นนี้:

<g transform="matrix( *** ) "><use xlink:href="#***"/></g>

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


0

ฉันได้รับปัญหานี้มานานหลายปี วิธีแก้ปัญหานั้นชัดเจนว่าสามารถเล่นกับการแปลงในเบราว์เซอร์แบบไดนามิกได้หากไม่สามารถแก้ไขได้ใน inkscape

ผู้ใช้Mcที่ฟอรั่ Inkscape ให้ผมแก้ปัญหานี้

โซลูชันสร้างการแปลงปัจจุบันระหว่างองค์ประกอบ SVG และองค์ประกอบราก SVG แล้วส่งคืนชุดข้อมูล BBox แบบเต็มตามจำนวนการแปลงทั้งหมด

นอกจากนี้ยังเป็นไปได้ที่จะเปลี่ยนองค์ประกอบการคำนวณที่เกี่ยวข้องได้อย่างง่ายดายหากคุณต้องการทำงานในเบราว์เซอร์ระหว่างสองส่วนของไฟล์ SVG เดียวกัน

ในที่สุดฉันก็สามารถมีวิวพอร์ตแบบ SVG ได้


0

Inkscape 1.0 บน Kubuntu 20.04

แม้ว่าหัวข้อนี้ค่อนข้างเก่า แต่ฉันต้องการโพสต์ประสบการณ์ / วิธีแก้ปัญหาของฉัน ฉันเจอปัญหานี้เมื่อพยายามสร้างเทมเพลตสำหรับโต๊ะทำงาน TechDrawing ของ FreeCAD แม่แบบเหล่านี้จะต้องไม่มีการแปลงใด ๆ

ในกรณีของฉันฉันต้องเพิ่มโลโก้ บริษัท จากไฟล์. svg ภายนอก (สร้างด้วย Inkscape ทั้งหมด) โลโก้นั้นมีองค์ประกอบกราฟิกและข้อความ เมื่อคัดลอกโลโก้นั้นลงในเทมเพลตการแปลงจะถูกสร้างขึ้นซึ่งทำให้แม่แบบนั้นไม่สามารถทำงานได้อย่างถูกต้องใน FreeCAD

  • ก่อนอื่นวิธีแก้ปัญหานี้แนะนำบนwww.freecadweb.org / ... ใช้ไม่ได้สำหรับฉัน นั่นเป็นเหตุผลที่ฉันค้นหาเว็บและพบการสนทนานี้

  • ประการที่สองการแก้ปัญหาที่แนะนำข้างต้นไม่ได้ผลสำหรับฉัน แต่พวกเขาทำให้ฉันถูกทาง คำตอบของ Charlie เข้ามาใกล้ แต่Object> Transform> Uncheck ย้ายญาติ> Applyไม่แสดงความแตกต่าง

สิ่งที่ทำงานให้ฉันคือ:

  1. ตามที่ผู้อื่นกล่าวถึงให้ยกเลิกการจัดกลุ่มทุกอย่าง
  2. แปลงวัตถุข้อความเป็นเส้นทาง - ซึ่งดูเหมือนจะสำคัญในกรณีของฉัน!
  3. ลบการแปลงที่มีอยู่ทั้งหมดใน xml-Editor และสังเกตสิ่งที่เกิดขึ้นกับวัตถุที่เกี่ยวข้อง ในกรณีของฉันองค์ประกอบที่เกี่ยวข้องเปลี่ยนตำแหน่งของพวกเขา
  4. แก้ไขการเปลี่ยนแปลงเหล่านี้ด้วยตนเอง แต่ไม่ต้องจัดกลุ่มอะไร
  5. บันทึกเป็น svg ปกติ (ปกติ = ไม่ใช้การเพิ่มประสิทธิภาพหรือการตั้งค่าพิเศษอื่น ๆ )

ทำงานได้ดีเมื่อฉันใช้เทมเพลตนั้นใน FreeCAD


รายละเอียดที่แปลกประหลาดอย่างหนึ่ง: ถึงแม้ว่าวิธีการแก้ปัญหาของฉันมีความหมายว่าองค์ประกอบข้อความเป็นปัญหาในกรณีของฉัน อันที่จริงเอกสารพื้นฐาน (อันที่ฉันคัดลอกโลโก้) มีองค์ประกอบข้อความจำนวนมากและฉันไม่ได้แปลงองค์ประกอบใด ๆ ดังนั้นจึงอาจเป็นการรวมกันของ "แหล่งภายนอก" และองค์ประกอบข้อความ ฉันแค่โพสต์รายละเอียดนี้เพื่อเป็นแนวทางให้ผู้อื่นซึ่งอาจมีปัญหาที่เกี่ยวข้อง

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