Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / RenderTargetBitmap не сохраняет картику / 1 сообщений из 1, страница 1 из 1
17.11.2014, 13:47
    #38808276
gdengam
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RenderTargetBitmap не сохраняет картику
Доброго времени суток. сайт на asp.net есть страничка, где пользователь указывает какие картинки на каком месте будут в коллаже, их координаты сохраняются в базу,после чего надо сделать превью коллажа, то есть сохранить div как картинку и потом ее ужать. пробую так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
        Dim cnv As New System.Windows.Controls.Canvas
        cnv.Width = 600
        cnv.Height = 600
        cnv.Background = System.Windows.Media.Brushes.White
        cmd.CommandText = "SELECT v.foto, kv.koo_left, kv.koo_top"
        red = cmd.ExecuteReader
        While red.Read()
            Dim imgas As New System.Windows.Controls.Image
            Dim btm As New System.Windows.Media.Imaging.BitmapImage
            btm.BeginInit()
            btm.UriSource = New Uri(Server.MapPath("Images") & "/" & red.Item(0).ToString(), UriKind.Relative)
            btm.EndInit()
            'imgas.Stretch = System.Windows.Media.Stretch.Fill
            imgas.Source = btm
            System.Windows.Controls.Canvas.SetLeft(imgas, red(2))
            System.Windows.Controls.Canvas.SetTop(imgas, red(3))
            cnv.Children.Add(imgas)
        End While
        red.Close()
        Dim bmp As New System.Windows.Media.Imaging.RenderTargetBitmap(600, 600, 96, 96, System.Windows.Media.PixelFormats.Default)
        bmp.Render(cnv)
        Dim bmpe As New System.Windows.Media.Imaging.PngBitmapEncoder
        bmpe.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bmp))
        Dim stm As IO.FileStream = IO.File.Create(Server.MapPath("Images") & "/" & "test.png")
        bmpe.Save(stm)
        stm.Close()
        stm.Dispose()


сохраняется всегда черный прямоугольник 600 на 600, при этом если поставить любой pixelformat кроме дефолта, то вылетает ошибка, что такой pixelformat невмозможен, хотя по логике я ничего еще с объектом не делаю, то есть данные в него не записываю.
Что делаю не так? и почему фон черный, а не фоновый белый?
может есть другой способ решить задачу, то есть в прямоугольную обасть залить фон и расположить картинки, а потом сохранить как картинку...
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / RenderTargetBitmap не сохраняет картику / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]