]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/resize.c
python: update python build configuration to new ape capabilities like getaddrinfo...
[plan9front.git] / sys / src / cmd / resize.c
index 626097eebcd4749566a7b4678105a854e76c3aa2..3773c82367f76ccb5a7da5b008c7e3979f41f20e 100644 (file)
@@ -97,7 +97,6 @@ main(int argc, char **argv)
        int fd, xsize, ysize;
        Memimage *im, *nim;
        ulong ochan, tchan;
-       char buf[12];
 
        xsize = ysize = 0;
        ARGBEGIN{
@@ -134,7 +133,14 @@ main(int argc, char **argv)
                ochan = im->chan;
                switch(ochan){
                default:
-                       sysfatal("can't handle channel type %s", chantostr(buf, ochan));
+                       for(tchan = ochan; tchan; tchan >>= 8)
+                               if(TYPE(tchan) == CAlpha){
+                                       tchan = RGBA32;
+                                       break;
+                               }
+                       if(tchan == 0)
+                               tchan = RGB24;
+                       break;
                case GREY8:
                case RGB24:
                case RGBA32:
@@ -142,11 +148,6 @@ main(int argc, char **argv)
                case XRGB32:
                        tchan = ochan;
                        break;
-               case CMAP8:
-               case RGB16:
-               case RGB15:
-                       tchan = RGB24;
-                       break;
                case GREY1:
                case GREY2:
                case GREY4:
@@ -160,7 +161,9 @@ main(int argc, char **argv)
                        freememimage(im);
                        im = nim;
                }
-               if((nim = allocmemimage(Rect(im->r.min.x, im->r.min.y, xsize, ysize), tchan)) == nil)
+               if((nim = allocmemimage(
+                       Rect(im->r.min.x, im->r.min.y, im->r.min.x+xsize, im->r.min.y+ysize), 
+                       tchan)) == nil)
                        sysfatal("addocmemimage: %r");
                resample(nim, nim->r, im, im->r);
                freememimage(im);