explorerpl Posted July 15, 2013 Share Posted July 15, 2013 Hi. This is my first post. I've spent a lot of time testing different approaches and of course searching the forums before posting this. It's been 3 days already, so I think it's about time I ask the experts. I'm trying to merge several images into one big file. Images should be aligned one next to the other. So far I've got almost everything. I'm creating an empty image (like a canvas to paint on) with transparency. I can save it to a PNG format. It works, but I don't want to save it just yet. I want to read a couple of images (all same predefined size) and draw them on the canvas. This is what doesn't work. The funny thing is, that when I use _ScreenCapture_Capture instead of reading the file it works, but I can't make it work with a file. There are so many ways to load a file and I'm getting lost. Right now I'm trying to read a JPG file (so no transparency). I can't make it work, however it does work if I use screen capture (as explained above) and the canvas gets filled with multiple copies of my screen capture area as expected. In the end I'll be loading PNG files which also include transparency - I don't know if it makes any difference, but I thought to point that out. I'm using _GDIPlus_GraphicsDrawImage to paint on the "canvas". Any ideas? Link to comment Share on other sites More sharing options...
UEZ Posted July 15, 2013 Share Posted July 15, 2013 This will give you a direction how to proceed: Br,UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
explorerpl Posted July 15, 2013 Author Share Posted July 15, 2013 (edited) Thanks UEZ. I see you'r "the man" around here I've seen that example, and I'm constantly trying out ideas based on that, but I can't get rid of the feeling that I'm so close and I should't have to go through all that code and trying out different bits without really knowing why one way works, and the other doesn't. On top of that everything works. It just doesn't work when the file is being loaded. So my guess is the ScreenCapture returns a different type than loading images using which ever method, but the Documentation doesn't specify it. Also here's the small part of the code: For $j = 1 to $currentFileList[0] $x = mod($j-1, $stripeSize[0][0]) * $stripeSize[1][0] $y = floor(($j-1) / $stripeSize[0][1]) * $stripeSize[1][1] $hBitmap = _ScreenCapture_Capture("", 0, 0, 286, 288) $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap) _GDIPlus_GraphicsDrawImage($hGraphic, $hImage, $x, $y) Next after that I'm saving the $canvas and clearing the resources. the $canvas is created using _WinAPI_CreateBitmap, _GDIPlus_BitmapLockBits, and so on. this is working as expected, but when I try to substitute the _ScreenCapture with loading an image all I get is a blank file. Edited July 15, 2013 by explorerpl Link to comment Share on other sites More sharing options...
UEZ Posted July 15, 2013 Share Posted July 15, 2013 _ScreenCapture_Capture() creates a GDI bitmap. To use it in GDI+ you have to convert the image by using _GDIPlus_BitmapCreateFromHBITMAP() function. Afterwards you can use it e.g. to copy to the canvas._GDIPlus_BitmapCreateFromScan0() comes from GDIP.au3 which can be found here: '?do=embed' frameborder='0' data-embedContent>>It creates an empty GDI+ bitmap.Br,UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now