2016-01-08 5 views
0

У меня есть кусок кода, который получает URL-адреса изображений flickr, теперь я хочу, чтобы изображения этих URL-адресов сохранялись в массиве, поэтому я могу использовать их позже. но я получаю следующее сообщение об ошибке:Ошибка изображения плохих изображений при загрузке изображения с обработки URL-адресов

Файл https://www.flickr.com/photos/[email protected]/22115289859 содержит некорректные данные изображения, или не может быть изображением

увидеть мой код: в коде будет комментарий, чтобы показать, что линия я думаю, что порождает ошибка.

PImage[] images; 
int imageIndex; 
XML xml; 
String tag_mode = "all"; 
String words[]; 
PImage[] displayImages; 
int amount = 500; 

void setup() { 
size(50, 50); 
String lines[] = loadStrings("text.txt"); 
words = split(lines[0], " "); 
displayImages = new PImage[amount]; 


for (int k = 0; k<words.length; k++) { 
String query = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=MYKEY&tags="+ words[k] + "&sort=relevance&extras=url_o&tag_mode="+ tag_mode +"format=rest"; 
xml = loadXML(query); 
XML[] children = xml.getChildren("photos"); 
if (children.length > 0) { 
    XML[] childPhoto = children[0].getChildren("photo"); 
    // println(childPhoto); 

    if (childPhoto.length > 0) { 
    for (int i = 0; i < 1; i++) { 
     String id = childPhoto[i].getString("id"); 
     String title = childPhoto[i].getString("title"); 
     String user = childPhoto[i].getString("owner"); 
     String url = "https://www.flickr.com/photos/"+user+"/"+id; 
     println(url); 
     println("====================="); 
     displayImages[i] = loadImage(url, "jpg"); // here is probably the error 
     println(displayImages.length); 
    } 
    } 
} 
} 

textAlign(CENTER, CENTER); 
smooth(); 
} 

void draw() { 
} 
+1

Адрес, который вы предоставляете, не является URL-адресом изображения. Это URL-адрес веб-страницы flickr. Вы должны извлечь фактический URL изображения, а не только URL-адрес страницы. –

+0

oke как я могу это сделать? – FutureCake

+0

Не знаю. Вам нужно будет посмотреть на XML, который вы видите, где находится URL-адрес изображения. –

ответ

1

Адрес, который вы предоставляете, не является URL-адресом изображения. Это URL-адрес веб-страницы flickr. Вы должны извлечь фактический URL изображения, а не только URL-адрес страницы.

Например, это URL вы собираетесь: https://www.flickr.com/photos/[email protected]/22115289859

Это страница, не изображение. Вот почему вы получаете сообщение об ошибке: обработка не знает, как создать изображение со страницы.

Эта страница содержит изображение, но обработка недостаточно умна, чтобы понять это. Для чего это стоит, этот URL-адрес этого изображения: https://c2.staticflickr.com/6/5826/22115289859_91944c93cb_b.jpg

Вы должны найти картинка url на странице. Вероятно, это где-то в структуре xml.