Можем ли мы вывести изображение на C?
-
05-07-2019 - |
Вопрос
можем ли мы вывести изображение .jpg или .gif на C?
Я имею в виду, можем ли мы распечатать изображение в качестве вывода с помощью программы на языке C?
Также можем ли мы написать сценарий на языке C для HTML-страниц, который можно написать на JavaScript?
Могут ли браузеры работать с ним?
Если это невозможно, есть ли какой-нибудь плагин для любого из браузеров?
Есть пример кода или ссылки, пожалуйста?
Решение
Вы можете создать веб-страницу из программы на C, используя Common Gateway Interface (CGI). Программа на C компилируется и запускается на сервере, это отличается от Javascript, который запускается в браузере.
Вы также можете создавать изображения через CGI. Просто установите тип содержимого соответствующим образом, например. image / jpeg для изображения в формате JPEG. Вы можете использовать libjpeg для создания фактического изображения.
<Ч>Вот пример программы на C для создания страницы с изображением JPEG:
#include <stdio.h>
main()
{
char *pageTitle = "Look, a JPEG!";
char *urlImage = "/myimage.jpeg";
// Send HTTP header.
printf("Content-type: text/html\r\n\r\n");
// Send the generated HTML.
printf("<html><head><title>%s</title></head>\r\n"
"<body>\r\n"
"<h1>%s</h1>\r\n"
"<img src=\"%s\">\r\n"
"</body></html>\r\n",
pageTitle, pageTitle, urlImage);
}
Другие советы
Это много вопросов!
Вы можете создавать файлы JPEG и PNG из C, используя libjpeg и libpng соответственно. (Да, я специально уклоняюсь от вашего вопроса о GIF. Вам не нужно этого делать; PNG сейчас хорошо поддерживается основными браузерами и должен быть предпочтительным . :-P)
Браузеры обычно поддерживают JavaScript только для сценариев на стороне клиента. Использование чего-либо еще только разрушит мобильность ваших веб-страниц. Да, как вы говорите, вы можете использовать плагины, но некоторые люди не хотят устанавливать плагины, а другие придерживаются корпоративных политик, которые не допускают таких вещей.
- Чтобы сохранить файлы JPEG, вам понадобится libjpeg.Я уверен, что для GIF-файлов тоже есть подобная библиотека.
- С есть нет язык сценариев.Вы не можете писать сценарии на C, как в Javascript.Вы можете написать серверный код с помощью CGI, если осмелитесь, но это действительно не очень хорошая идея.Есть несколько лучших инструментов для написания серверных компонентов, включая C#/ASP.NET, Java, Python, Perl, Ruby (с Rails) или PHP.Даже Coldfusion лучше подходит для веб-страниц, чем C.
- C не является интерпретируемым языком.Не существует браузера, который мог бы запускать ваш код C, и я сомневаюсь, что он когда-либо появится по миллиону причин.Кроме того, для этого не существует плагина.Это что-то действительно невыполнимое.C — отличный язык для множества вещей, но Интернет — одна из областей, где он используется редко (за исключением случаев, когда вы хотите написать браузер или http-сервер на C.Но даже для этих задач C++ обычно лучше.) Если вам нужны сценарии на стороне клиента на веб-страницах, используйте Javascript.Некоторые браузеры также интерпретируют VBScript, но Javascript является предпочтительным языком сценариев браузера.