Конвертировать Txt в JPG - PullRequest
       10

Конвертировать Txt в JPG

0 голосов
/ 26 ноября 2009

Я использую libcurl для загрузки файла. Я загружаю изображение (JPG), но я могу только сохранить его как текстовый файл. Есть ли методы, которые могли бы изменить данные (строку) в JPG и сохранить его?

Спасибо

Edit:

Как я могу преобразовать этот поток?

        Bitmap b = new Bitmap(data);
        b.Save("picture.jpg", b); <-- this gives me error

Ответы [ 4 ]

1 голос
/ 26 ноября 2009

Посмотрите на второй параметр .

1 голос
/ 26 ноября 2009

Я думаю, вы либо хотите

Bitmap b = new Bitmap(data);
b.Save("picture.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

или просто сохранить данные как есть ...

0 голосов
/ 22 декабря 2009

Я не уверен, почему вы не можете сохранить файл как .jpg ...., поскольку вы используете libcurl, это не должно быть проблемой:

FILE* f = _tfopen(wLocalFilePath.c_str(), _T("wb+"));
 if(!f)
  return ERROR_FILE;

 curl_easy_setopt(curl, CURLOPT_WRITEDATA, f);

 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteFileCallcack);

* Примечание: код написан на C ++, и я не уверен, какой язык вы используете, но он должен дать вам подсказку, если вы используете другие языки.

wLocalFilePath - это полный путь к файлу, в который вы хотите сохранить загруженный контент, например, с расширением (c: \ picture.jpg), и вам нужно открыть файл для записи в двоичном режиме, передать указатель файла к ручке curl вместе с вашей функцией обратного вызова write, и вы должны быть установлены.

0 голосов
/ 26 ноября 2009

При загрузке изображения у вас, вероятно, будет какой-то сетевой поток для чтения данных.

Я бы сначала попытался записать эти данные в поток памяти, затем создать Bitmap в этом потоке (Bitmap b = new Bitmap(memStream);) и сохранить растровое изображение в виде файла JPEG. Это работает.

В противном случае вам действительно нужно действительно опубликовать некоторый исходный код, чтобы мы могли видеть, что вы делаете.

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

...