How to load and draw SVG files?

  • Is there a simple way to load a SVG file (just as you would load an image) and display it?

    I don't need to do all kinds of editing with it, just displaying the svg in a certain size.

    I'm currently lost in all kinds of SVG modules that do all kinds of things, except just loading a simple file... Thanks!

  • I tried installing the module svglib which is supposed to do what I want, but I end up in a maze of installing other modules and end up with errors in the lxml module.

    I'm in no way experienced in Drawbot and/or Python, so I have no idea what I'm doing... This sounds too difficult for what I'm trying to do, right?

  • hi. how about this (quick & lazy):

  • Thanks @gferreira, that works! I was just hoping to resize the image (or simply put: display the image at a certain size), but I can't find a way to do this.

  • @snaders in DrawBot you don’t really resize an image, you change the scale at which it is drawn. (same logic as in Draw a letter within a viewbox)

    imgPath = ''
    # get image width & height
    imgWidth, imgHeight = imageSize(imgPath)
    # define box width & height
    boxWidth, boxHeight = 640, 640
    # calculate scaling factors
    factorHeight = boxHeight / imgHeight
    factorWidth  = boxWidth  / imgWidth
    # draw scaled image
    with savedState():
        scale(factorWidth, factorHeight)
        image(imgPath, (0, 0))
    # draw box
    stroke(1, 0, 0)
    rect(0, 0, boxWidth, boxHeight)

Log in to reply