Il rendering in scala del percorso salvato in pdf viene visualizzato come se la larghezza del tratto fosse ridimensionata in tutto tranne che inkscape


1

Spero che questo stia facendo qualcosa di sbagliato, ma se i miei sospetti sono corretti ed è un bug, invierò una segnalazione di bug.

Ho un file svg (originariamente disegnato da matplotlib, ma sospetto che non sia pertinente). Ho ridimensionato alcuni percorsi solo in altezza (e li ho ritagliati), ora quando carico il pdf in evince, gimp o gv * - ma non inkscape - anche la larghezza del tratto viene ridimensionata in altezza, anche se non avevo la scala tratto quando l' effetto di ridimensionamento è selezionato.

Aprire il pdf in inkscape ed esportare come .png:

inserisci qui la descrizione dell'immagine

aprendo lo stesso pdf in Gimp:

inserisci qui la descrizione dell'immagine

alcuni percorsi non scalati sono visibili anche a sinistra.

C'è qualcosa che posso fare al riguardo? Ho davvero bisogno di lavorare su svg piuttosto che tornare all'elaborazione dei dati e modificare il codice in matplotlib, e ho bisogno di ridimensionare di un numero intero digitando, non trascinando.

Modifica: * Ho appena installato foxit sul mio Windows VM - lo stesso di tutto tranne Inkscape

Edit2: Ecco uno svg minimo (ish) che mostra il problema (davvero, nessun caricamento SVG?):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   version="1.1"
   width="86.874992"
   height="33.008114"
   viewBox="0 0 69.499992 26.406493"
   id="svg2">
  <metadata
     id="metadata1778">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <defs
     id="defs4"
     style="stroke-linecap:square;stroke-linejoin:round">
    <style
       type="text/css"
       id="style6" />
  </defs>
  <path
     d="m 73.4966,215.574 2.6784,0.104 5.9148,0.341 11.9412,-0.054 21.874,-0.079 9.597,-0.184 4.911,-0.321 2.901,-0.402 4.018,-0.785 0.446,-0.378 0.447,-0.689 0.446,-1.086 0.558,-2.019 0.67,-3.471 0.781,-5.406 1.227,-10.454"
     transform="translate(-72.968769,-190.125)"
     clip-path="url(#p19969a3f5c)"
     id="path722"
     style="fill:#ff0000;stroke:#0000ff;stroke-width:1;stroke-linecap:square;stroke-linejoin:round" />
  <defs
     id="defs1765">
    <clipPath
       id="p19969a3f5c">
      <rect
         width="446.39999"
         height="101.64706"
         x="72"
         y="165.17647"
         id="rect1774"
         style="stroke-linecap:square;stroke-linejoin:round" />
    </clipPath>
  </defs>
</svg>

* Per dimostrare, allunga in altezza solo che salva come pdf e apri nel visualizzatore che preferisci (tranne inkscape).

Nota che ho aggiunto un riempimento per dimostrare che è solo un percorso e non un oggetto che viene ridimensionato

Altre nuove informazioni: se rimuovo la clip, si ridimensiona come dovrebbe *


Al momento l'opzione migliore sembra prendere ciascuno dei <percorsi> in libreoffice, ricalcolare le coordinate e rimetterle!
Chris H,

Sei sicuro che la tua linea sia effettivamente il tratto di un tracciato e non l'interno di un poligono a forma di linea (cioè, cosa ottieni se applichi Tratto a tracciato su un tracciato normale)? In alternativa, i percorsi in questione sembrano ridimensionati in una direzione - forse questo aiuta a trovare l'origine del problema.
Wrzlprmft,

Inoltre, potresti ridurre il file del problema a un esempio minimo e pubblicarlo?
Wrzlprmft,

@Wrzlprmft, ci proverò - non sono sicuro di avere una copia del file con me oggi. Suppongo ci sia una possibilità che matplotlib abbia fatto qualcosa di stupido, ma sono abbastanza sicuro che non lo sia stato: non esiste un tratto di colore di riempimento, e la regione "riempita" è più ampia del doppio della larghezza del tratto.
Chris H,

Risposte:


0

Alla fine ho fatto quello che ho detto nel mio commento, ma penso ancora che ci debba essere una soluzione reale. Avevo solo 4 percorsi in un file da affrontare (l'ho visto prima in realtà, ma le proporzioni della scala non erano così male e non avevo tempo di preoccuparmene).

Questo è quello che ho fatto:

  • Nota gli ID oggetto dei percorsi che volevo modificare
  • apri .svg in jEdit
  • Trova ogni percorso a turno
  • lavorare sul dattributo
  • sostituisci "" con "\ n"
  • copia in libreoffice calc
  • moltiplica la seconda colonna, tranne le prime 2 righe (solo la seconda era numerica) e l'ultima riga per 20 (il mio fattore di ridimensionamento)
  • torna a jEdit
  • sostituisci "\ t" con "," (tranne dopo la "m", quando è stata appena eliminata
  • sostituisci "\ n" con ""
  • incolla sul percorso originale
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.