当前位置:编程学习 > wap >>

IImage.Draw为什么那么慢阿

在PPC2005上调用Imaging API
IImagingFactory *fac = .........(创建com)
IImage *image;
fac.CreateImageFromFile ("filename", &image)
image->Draw (hdc, &dstRect, NULL);
结果一张480*160的png图片居然用了140多tickcount来draw.
(同时调用多次draw,每次都要100毫秒)

有什么好的解决方法阿 --------------------编程问答-------------------- 你好,我想问一下

            IImage image;
            ImagingFactory factory = new ImagingFactoryClass();
            factory.CreateImageFromFile(@"Map\\a.jpg", out image);
            Graphics g = this.CreateGraphics();
            image.Draw(this.Handle, new RECT(0, 0, 200, 200), new RECT(50, 50, 250, 250));


最后一句为何会出错?我想把a.jpg中的部分图像画出来,谢谢 --------------------编程问答-------------------- up~~~~~~~~~ --------------------编程问答-------------------- 帮顶 --------------------编程问答--------------------
引用 1 楼 hcaihao 的回复:
你好,我想问一下

                        IImage   image;
                        ImagingFactory   factory   =   new   ImagingFactoryClass();
                        factory.CreateImageFromFile(@ "Map\\a.jpg ",   out   image);
                        Graphics   g   =   this.CreateGraphics();
                        image.Draw(this.Handle,   new   RECT(0,   0,   200,   200),   new   RECT(50,   50,   250,   250));


最后一句为何会出错?我想把a.jpg中的部分图像画出来,谢谢


this.Handle——Handle不是HDC。可以用下列办法实现:
Graphics   g   =   this.CreateGraphics();
Intptr hdc = g.GetHdc();
image.Draw........
g.ReleaseHdc(hdc); --------------------编程问答--------------------
引用楼主 xyuanzhi 的回复:
在PPC2005上调用Imaging   API
IImagingFactory   *fac   =   .........(创建com)
IImage   *image;
fac.CreateImageFromFile   ( "filename ",   &image)
image-> Draw   (hdc,   &dstRect,   NULL);
结果一张480*160的png图片居然用了140多tickcount来draw.
(同时调用多次draw,每次都要100毫秒)

有什么好的解决方法阿


图片是在绘图代码段才load的? --------------------编程问答-------------------- 创建一个MemDC,把它Draw到MemDC上,生成一幅BMP,以后绘图,就用这幅BMP绘图! --------------------编程问答-------------------- 这个帖子还没结贴吧。。。。我也求同样的问题啊 --------------------编程问答--------------------
引用 6 楼 imggtoo 的回复:
创建一个MemDC,把它Draw到MemDC上,生成一幅BMP,以后绘图,就用这幅BMP绘图!

不是他肯定是在画PNF,要半透明的效果:)就是这么慢。
补充:移动开发 ,  Windows Phone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,