Есть ли способ сохранить изображение ** Elementhost ** в winforms C #? [Дубликат]

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

2
задан David Hope 5 June 2015 в 15:04
поделиться

1 ответ

Вот что я закончил с ...

        tempWidth = myControl.ActualWidth;
        tempHeight = myControl.ActualHeight;

        myControl.Width = double.NaN;
        myControl.Height = double.NaN;

        myControl.UpdateLayout();

        RenderTargetBitmap rtb = new RenderTargetBitmap((int)myControl.ActualWidth, (int)myControl.ActualHeight, 96, 96, PixelFormats.Pbgra32);

        rtb.Render(myControl);

        PngBitmapEncoder pbe = new PngBitmapEncoder();
        pbe.Frames.Add(BitmapFrame.Create(rtb));
        MemoryStream stream = new MemoryStream();
        pbe.Save(stream);
        image = (System.Drawing.Bitmap)System.Drawing.Image.FromStream(stream);

        CEGrid.Width = tempWidth;
        CEGrid.Height = tempHeight;
2
ответ дан David Hope 18 August 2018 в 21:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: