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 @Trüff last edited by cvp

      @Trüff perhaps a canvas bug, try this (with, of course, your own file name)

      img = ui.Image.named('kitty.JPG')
      clipboard.set_image(img)
      #cv.draw_image("kitty.JPG", 0, 0, img_w, img_h)
      cv.draw_clipboard(0, 0, img_w, img_h)
      
      1 Reply Last reply Reply Quote 0
      • ccc
        ccc last edited by ccc

        https://omz-software.com/pythonista/docs/ios/ui.html#ui.Image.named
        --> cv.draw_image(ui.Image.named("image.png"), 0, 0, img_w, img_h)

        cvp 1 Reply Last reply Reply Quote 0
        • 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