0

2 つの画像をマージしたいのですが、1 つの画像は 300x300 で、もう 1 つは 100x100 です。最初にキャンバスを作成し、次に 2 つの画像を作成して、両方の画像をキャンバスに追加し、キャンバスをコンテンツ パネルに追加します。次にwriteablebitmap、キャンバスを作成してレンダリングしsavejpeg、画像を保存するメソッドを作成しましたisolated stoarageが、分離ストレージに画像全体が表示されず、黒い画面が保存されます。

最初に、高さの幅と背景色を設定するコードを使用してキャンバスを作成し、プログラムで2つの画像を作成してキャンバスに追加し、キャンバスをcontentpanel

私のコードは次のとおりです。

   public void CreateImage()
    {

        Canvas canvas = new Canvas();
        canvas.Height = 400;
        canvas.Width = 400;
        canvas.Background = new SolidColorBrush(Colors.Red);

        Image img1 = new Image();
        img1.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("Image/Desert.jpg");
        img1.Height = 300;
        img1.Width = 300;
        img1.Margin = new Thickness(0, 10, 0, 0);

        Image img2 = new Image();
        img2.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("Image/Jellyfish.jpg");
        img2.Height = 50;
        img2.Width = 50;
        img2.Margin=new Thickness(0,10,300,0);


        canvas.Children.Add(img1);
        canvas.Children.Add(img2);
        ContentPanel.Children.Add(canvas);

        WriteableBitmap wb = new WriteableBitmap(400, 400);
        wb.Render(canvas, new MatrixTransform());
        MemoryStream ms = new MemoryStream();


        wb.SaveJpeg(ms,400,400,0,100);

        using (var isoFileStream = new IsolatedStorageFileStream("myPicture.jpg", FileMode.OpenOrCreate, IsolatedStorageFile.GetUserStoreForApplication()))
        {
            wb.SaveJpeg(isoFileStream, 400, 400, 0, 100);
        }

    }

画像を保存すると、分離ストレージに黒い画面が表示されます。 両方の画像をキャンバスに保存するには?

4

2 に答える 2

3

ステファンが言ったように、ソースに画像が届いていないと思います。いずれにしても、サンプル アプリケーションを作成しました。2 つのパーティションがあるので、コンテナをダブルタップしてイメージを追加できます。その後、保存して保存した画像を確認してください。アプリをテストしましたが、すべてが機能しています。それでも問題が発生した場合は、コメントを残してください。

https://www.dropbox.com/s/1vjbbou96w0r15r/SaveImageApp.zip

于 2013-03-01T12:57:25.183 に答える
0

画像を取得している天気かどうかを画像ソースに確認してください。画像を取得している場合; この方法を試して、コントロールからスナップショットを取得し、それを Iso ストアに保存します。

 http://stackoverflow.com/questions/13837148/how-can-i-take-a-screenshot-full/13990649#13990649
于 2013-02-28T10:37:17.360 に答える