none
Как сохранить рисунок в txt формате RRS feed

  • Вопрос

  • Здравствуйте

    в приложений есть конфигурационный файл, он хранит много данных типа координаты рисунков на форме, размеры, т.д. и т.п..

    как лучше реализовать сохранения выбранного пользователем изображения в конфигурационный файл, понимаю, наверное глупый вопрос, но мне все же интересно, смогу ли я сохранить изображение в txt формате и так же использовать данные координат из того же txt файла, пытался, но в файле написано 

    System.Drawing.Bitmap
    {Width=90, Height=117}
    [Font: Name=Microsoft Sans Serif, Size=8,25, Units=3, GdiCharSet=204, GdiVerticalFont=False]
    Название магазина
    Адрес и телефон
    Имя проекта: , дата создания: 

    не вижу смысла пытаться прочитать из этого файла мое изображение из System.Drawing.Bitmap

    или все же сохранять некую копию изображения в отдельном файле.

    меня интересуют оба варианта, если не трудно приведите реализацию

    11 февраля 2013 г. 16:50

Ответы

  • можно скомбинировать 2 метода и получить на выходе строку

    Image img;
    
    using(MemoryStream memStream = new MemoryStream())
    {
    img.Save(memStream, System.Drawing.Imaging.ImageFormat.jpeg);
    bity[] byteArray = new byte[memStream.Length];
    count = memStream.Read(byteArray, 0, (int)memStream.Length);
    string base64String = 
             System.Convert.ToBase64String(byteArray, 
                                    0,
                                    byteArray.Length);
    }
    в переменной base64string у вас будет строковое представление вашего изображения, после чего вы сможете выполнить обратное преобразование с помощью методов Converter.FromBase64String, и MemoryStream(baty[])

    • Помечено в качестве ответа Abolmasov Dmitry 14 февраля 2013 г. 11:07
    12 февраля 2013 г. 10:32
  • у класса Image есть перегруженный метод Save который сохраняет изображение в stream в данном случае это MemoryStream, когда вы загружаете изображение Image создается с помощью метода FromStream который принимает в качестве аргумента stream

    • Помечено в качестве ответа Medet Tleukabiluly 17 февраля 2013 г. 13:44
    15 февраля 2013 г. 19:44

Все ответы

  • Здравствуйте

    в приложений есть конфигурационный файл, он хранит много данных типа координаты рисунков на форме, размеры, т.д. и т.п..

    как лучше реализовать сохранения выбранного пользователем изображения в конфигурационный файл, понимаю, наверное глупый вопрос, но мне все же интересно, смогу ли я сохранить изображение в txt формате и так же использовать данные координат из того же txt файла, пытался, но в файле написано 

    System.Drawing.Bitmap
    {Width=90, Height=117}
    [Font: Name=Microsoft Sans Serif, Size=8,25, Units=3, GdiCharSet=204, GdiVerticalFont=False]
    Название магазина
    Адрес и телефон
    Имя проекта: , дата создания: 

    не вижу смысла пытаться прочитать из этого файла мое изображение из System.Drawing.Bitmap

    или все же сохранять некую копию изображения в отдельном файле.

    меня интересуют оба варианта, если не трудно приведите реализацию

    Image img;
    img.Save("tempName.jpeg", System.Drawing.Imaging.ImageFormat.jpeg);
    второй способ нашел, а вот первый . . . еще под вопросом



    11 февраля 2013 г. 17:28
  • можно скомбинировать 2 метода и получить на выходе строку

    Image img;
    
    using(MemoryStream memStream = new MemoryStream())
    {
    img.Save(memStream, System.Drawing.Imaging.ImageFormat.jpeg);
    bity[] byteArray = new byte[memStream.Length];
    count = memStream.Read(byteArray, 0, (int)memStream.Length);
    string base64String = 
             System.Convert.ToBase64String(byteArray, 
                                    0,
                                    byteArray.Length);
    }
    в переменной base64string у вас будет строковое представление вашего изображения, после чего вы сможете выполнить обратное преобразование с помощью методов Converter.FromBase64String, и MemoryStream(baty[])

    • Помечено в качестве ответа Abolmasov Dmitry 14 февраля 2013 г. 11:07
    12 февраля 2013 г. 10:32
  • Привет, пожалуйста, не бросайте топик без ответ или комментариев. Спасибо


    Для связи [mail]

    14 февраля 2013 г. 11:07
  • а как этот img внедрить в поток memorystream?
    15 февраля 2013 г. 17:56
  • у класса Image есть перегруженный метод Save который сохраняет изображение в stream в данном случае это MemoryStream, когда вы загружаете изображение Image создается с помощью метода FromStream который принимает в качестве аргумента stream

    • Помечено в качестве ответа Medet Tleukabiluly 17 февраля 2013 г. 13:44
    15 февраля 2013 г. 19:44
  • var img = Image.FromFile(@"LogoImage.jpeg");
    e.Graphics.DrawImage(img, 50, 50, 100, 100);
    рисунка нет. почему?. в директорий она присутствует
     
    17 февраля 2013 г. 19:35