crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Как реализовать тэг <img> ?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
mezmay Дата 8.10.2010, 9:40
  Спасибо за вопрос! папочку imageformats то я забыл скопировать))(( В previewer'e все заработало.
kwisp Дата 8.10.2010, 9:06
 
Цитата(mezmay @ 8.10.2010, 10:04) *
Он тоже не отображает картинки

картинки всех форматов или только определенных?

-----добавлено-----------
проверил у меня все работает
mezmay Дата 8.10.2010, 9:04
  Открыл примеры использования webKit... откомпилировал пример Previewer. Он тоже не отображает картинки
kwisp Дата 7.10.2010, 16:20
  mezmay,
открой примеры использования webkit и посмотри как им пользоваться.
mezmay Дата 7.10.2010, 15:56
  Попробовал QWebView:

   
QWebView *view = new QWebView(this);
...
//Задаю в lineEdit ссылку на изображение и выполняю:
QString begin("<img src=\"");
QString end("\">");
QString src(ui.lineEdit->text());

view->setHtml(begin + src + end);
view->show();


грузит только локальные файлы, например C:\1.jpg, из интернета не показывает. Почему?



ufna Дата 7.10.2010, 13:42
  а не проще воспользоваться WebKit модулем?
mezmay Дата 7.10.2010, 13:17
  Задача - написать программу, которая выводила бы на экран google карту.
В google для этого предусмотрен специальный запрос:

http://maps.google.com/staticmap?center=46.714728,-74.998672&zoom=14&size=512x512&maptype=mobile&markers=40.702147,-74.015794,blues%7C40.711614,-74.012318,greeng%7C40.718217,-73.998284,redc&key=MY_KEY


предполагается вставка этой ссылки в тэг <img> на своей странице. При этом на странице будет отображена google карта.

Я создал простой html-файл с требуемым содержанием:

<img src="http://maps.google.com/staticmap?center=46.714728,-74.998672&zoom=14&size=512x512&maptype=mobile&markers=40.702147,-74.015794,blues%7C40.711614,-74.012318,greeng%7C40.718217,-73.998284,redc&key=MY_KEY" >

если открыть это в браузере, то все отлично отображается.

Но мне надо отобразить это в своей программе. Прямо вставить тэг <img> со ссылкой на картинку из интернета нельзя.
Я решил загружать картинку с помощью QHttp. Реализация:
bool cwin::getFile( const QUrl &url )
{
    bool result = false;

    if(url.isValid())
    {

        if(url.scheme() == "http")
        {
            if(!url.path().isEmpty())
            {

                QString localFileName = QFileInfo(url.path()).fileName();
                if(localFileName.isEmpty())
                    localFileName = "img.jpg";

                file.setFileName(localFileName);
                if(file.open(QIODevice::WriteOnly))
                {

                    internet.setHost(url.host(), url.port(80));
                    internet.get(url.path(), &file);
                    internet.close();
                    result = true;
                }
            }
        }
    }

    return result;
}

void cwin::onDone()
{

    file.close();

    close();
}


этот код корректно грузит картинки, если ссылка прямо указывает на jpeg. Например с такого адреса:
http://www.rambler.ru/im/81211543ca677b28a1c8f64bb0b5a975/c220x110/img.beta.rian.ru/images/15179/09/151790915.jpg

Но в случае c google картами не работает. Значит тем, что я написал, нельзя сымитировать обработку тэга <img> в браузерах. Как это правильно сделать?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 25.4.2024, 3:24