omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    canvas.draw_image() function does not work

    Pythonista
    image canvas function
    3
    15
    1330
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • cvp
      cvp @ccc last edited by cvp

      @ccc that does not work, draw_image wants a string as first argument

      cv.draw_image(ui.Image.named("kitty.JPG"), 0, 0, img_w, img_h)
      TypeError: argument 1 must be str, not _ui.Image
      
      1 Reply Last reply Reply Quote 1
      • cvp
        cvp @Trüff last edited by

        @Trüff could you tell me if this solves your problem, thanks

        img = ui.Image.named('image.png')
        clipboard.set_image(img)
        cv.draw_clipboard(0, 0, img_w, img_h)
        
        Trüff 1 Reply Last reply Reply Quote 0
        • Trüff
          Trüff @cvp last edited by Trüff

          @cvp Hm… Well, it does draw the image onto the canvas. But the image I want to draw is transparent and apparently it just sets a white background for images that are saved into the clipboard. So when I draw the clipboard with the image inside of it, the picture is not transparent anymore.

          cvp 1 Reply Last reply Reply Quote 0
          • ccc
            ccc last edited by

            Keep the alpha low on the background color like:

            • https://forum.omz-software.com/topic/3926/transparent-scene-background-using-objc_utils
            cvp 1 Reply Last reply Reply Quote 0
            • Trüff
              Trüff @ccc last edited by

              @ccc Ok thank you. I‘m going to read the documentary on these modules first.

              1 Reply Last reply Reply Quote 0
              • cvp
                cvp @ccc last edited by cvp

                @ccc said

                Keep the alpha low on the background color

                If the image he wants to draw is transparent, its background color has already a low alpha.

                1 Reply Last reply Reply Quote 0
                • cvp
                  cvp @Trüff last edited by

                  @Trüff I don't know if you really need a canvas, else, please try this

                  import ui
                  v = ui.View()
                  v.background_color = 'yellow'
                  iv = ui.ImageView()
                  iv.background_color = 'red'
                  iv.image = ui.Image.named('image.png')
                  wi,hi = iv.image.size
                  iv.frame = (10,10,150,150*hi/wi)
                  v.add_subview(iv)
                  v.present('fullscreen')
                  

                  Trüff 1 Reply Last reply Reply Quote 0
                  • Trüff
                    Trüff @cvp last edited by

                    @cvp This also doesn‘t work with transparent pictures for me. However, I tried out your previous idea of saving the image into the clipboard and drawing the clipboard but I used the class Image from the PIL module instead of the one from Pythonista‘s ui module and that worked. Thank you!

                    cvp 2 Replies Last reply Reply Quote 0
                    • cvp
                      cvp @Trüff last edited by

                      @Trüff saiD

                      This also doesn‘t work with transparent pictures for me

                      Weird, for me it works, the image of my example has a transparent background, here in red

                      1 Reply Last reply Reply Quote 0
                      • cvp
                        cvp @Trüff last edited by

                        @Trüff said

                        but I used the class Image from the PIL module instead of the one from Pythonista‘s ui module and that worked

                        👍

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Powered by NodeBB Forums | Contributors