zoukankan      html  css  js  c++  java
  • wp中的位图

            //
            // 摘要:
            //     使用提供的元素和变换初始化 System.Windows.Media.Imaging.WriteableBitmap 类的新实例。
            //
            // 参数:
            //   element:
            //     要在位图中呈现的所需元素。
            //
            //   transform:
            //     用户要在绘制到位图中之前的最后一步中应用到元素的变换。如果您希望位图将它的变换考虑在内,则这对于您特别有意义。此值可以为 null。
            //
            // 异常:
            //   System.ArgumentNullException:
            //     element 为 null。
            //
            //   System.ArgumentException:
            //     元素大小无效。当像素宽度或像素高度不大于零时,发生这种情况。
            [SecuritySafeCritical]
            public WriteableBitmap(UIElement element, Transform transform);
    View Code

    public WriteableBitmap(UIElement element, Transform transform);

    将某元素通过变换,绘出其形状。 

    获取照相机中的图片,进行重绘

    void OnPhotoChooserCompleted(object sender, PhotoResult args)
            {
                if (args.Error != null || args.ChosenPhoto == null)
                    return;
    
                BitmapImage bitmapImage = new BitmapImage();
                bitmapImage.SetSource(args.ChosenPhoto);
    
                Image imgBase = new Image();
                imgBase.Source = bitmapImage;
                imgBase.Stretch = Stretch.None;
    
                // Upper-left
                WriteableBitmap writeableBitmap = 
                    new WriteableBitmap(bitmapImage.PixelWidth / 2,
                                        bitmapImage.PixelHeight / 2);
                writeableBitmap.Render(imgBase, null);
                writeableBitmap.Invalidate();
                imgUL.Source = writeableBitmap;
    
                // Upper-right
                writeableBitmap = new WriteableBitmap(bitmapImage.PixelWidth / 2,
                                                      bitmapImage.PixelHeight / 2);
                TranslateTransform translate = new TranslateTransform();
                translate.X = -bitmapImage.PixelWidth / 2;
                //在位图上呈现元素
                writeableBitmap.Render(imgBase, translate);
                //对位图进行重绘
                writeableBitmap.Invalidate();
                imgUR.Source = writeableBitmap;
    
                // Lower-left
                writeableBitmap = new WriteableBitmap(bitmapImage.PixelWidth / 2,
                                                      bitmapImage.PixelHeight / 2);
                translate.X = 0;
                translate.Y = -bitmapImage.PixelHeight / 2;
                writeableBitmap.Render(imgBase, translate);
                writeableBitmap.Invalidate();
                imgLL.Source = writeableBitmap;
    
                // Lower-right
                writeableBitmap = new WriteableBitmap(bitmapImage.PixelWidth / 2,
                                                      bitmapImage.PixelHeight / 2);
                translate.X = -bitmapImage.PixelWidth / 2;
                writeableBitmap.Render(imgBase, translate);
                writeableBitmap.Invalidate();
                imgLR.Source = writeableBitmap;
    
                txtblk.Visibility = Visibility.Collapsed;
            }
  • 相关阅读:
    引擎设计跟踪(九.14.2h) 开发计划
    经典游戏重温
    引擎设计跟踪(九.14.2g) 将GNUMake集成到Visual Studio
    [工作积累] Android system dialog with native callback
    [工作积累] Software keyboard not shown on Activity.onCreate
    [工作积累] Android: Hide Navigation bar 隐藏导航条
    [工作积累] GCC 4.6 new[] operator内存对齐的BUG
    引擎设计跟踪(九.14.2f) 最近更新: OpenGL ES & tools
    [工作积累] Google Play Game SDK details
    [工作积累] Android dynamic library & JNI_OnLoad
  • 原文地址:https://www.cnblogs.com/lzhp/p/3222330.html
Copyright © 2011-2022 走看看