I figured it out, sorry for asking so fast before I even try it myself. Basically, I convert to and from raw, and just copy the bits and pieces in the right place. Here's part of my code, where "image" is the final one, and "char_image" is one of the smaller (I loop through all of them). Raw.sets (GlPix.to_raw image) ~pos:(3*(i*image_w + j + c*char_w)) (Raw.gets (GlPix.to_raw char_image) ~pos:(3*(i * char_w + j)) ~len:3) Best, Orlin On 10/22/07, Orlin Grigorov wrote: > > Hi. It's me again and my peculiar needs ;) > > At hand is the following problem. Let's assume that we have the > following: > > let image1 = GlPix.create `ubyte ~format:`rgb ~width:100 ~height:100 in > . > (* some code *) > . > let image2 = GlPix.create `ubyte ~format:`rgb ~width:100 ~height:100 in > . > (* some code *) > . > let image3 = GlPix.create `ubyte ~format:`rgb ~width:200 ~height:100 in > (* ?????????? *) > > The question marks are to be filled with code, which will join image1 and > image2 together (will glue them one next to the other), and the result will > be stored in image3 (notice how the width is the sum of the other two > widths). > > Please help! >