2009-08-22 21 views
7

Được rồi, nó có vẻ là một câu hỏi ngu ngốc, vì chúng ta có thisLàm cách nào để chúng tôi hiển thị ảnh từ API java của Picasa?

Tuy nhiên, đến thời điểm này, tôi chỉ có thể thành công trong việc hiển thị hình thu nhỏ bằng cách sử dụng:

PhotoEntry photo = //somehow I get the instance 
photo.getMediaThumbnails().get(0).getUrl() 

Bức ảnh lớn nhất mà tôi có thể hiển thị thông qua phương pháp này lên đến 300 pixel hoặc hơn [đó là photo.getMediaThumbnails().get(3)]. Làm thế nào tôi có thể hiển thị hình thu nhỏ lên đến 400 pixel hoặc thậm chí 800 pixel? Hoặc Làm cách nào để tôi có thể tham khảo lại trang google picasa thực sự có thể giúp tôi hiển thị ảnh này?

Cảm ơn

+0

Dường như chỉ có vài mọi người sử dụng picasa api .. lol .. –

+0

cách tải picasa trong ứng dụng của bạn .. – NagarjunaReddy

Trả lời

6

Sau đây là trả lời của một thành viên cộng đồng của google picasa api:

Hãy xem

http://code.google.com/apis/picasaweb/docs/2.0/reference.html#Parameters

Nó giải thích làm thế nào bạn có thể kiểm soát kích thước của hình ảnh mà phương tiện truyền thông : liên kết nội dung cũng trỏ tới như cách bạn có thể Equal khác nhau thumbsizes cho các phương tiện truyền thông: hình thu nhỏ liên kết. Cũng được liệt kê là kích thước hợp lệ giá trị có sẵn. Lưu ý rằng mặc dù, bạn chỉ có thể truy cập hình ảnh có kích thước tối đa 800px (chiều rộng hoặc chiều cao, bất kể số nào là lớn hơn) từ các trang web.

Ví dụ:

GET /feed/api/user // ALBUMID /? loại = ảnh & imgmax = 800 & thumbsize = 512,400,160c

sẽ cung cấp cho bạn một liên kết đến một phiên bản 800px trong giới truyền thông: liên kết nội dung, một liên kết lên phiên bản uncropped 512px và 400px ở hai đầu tiên phương tiện: các yếu tố hình thu nhỏ và một hình thu nhỏ có kích thước 160x160 hình vuông được cắt vuông ở thứ ba.

Chúc mừng, Detlev

9

Khá đơn giản

PhotoEntry photo = //somehow I get the instance 
    photo.getMediaThumbnails().get(0).getUrl() 

Bạn có thể sử dụng cách này để nhận được rằng 400/800px ảnh.

Bạn chỉ phải thay đổi URL kết quả được cung cấp. Thay đổi s144/s400/S800 giá trị của URL

BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s72/DSC09176.JPG 
BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s144/DSC09176.JPG 
BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s288/DSC09176.JPG 
BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s400/DSC09176.JPG 
BLAH com/_BwderBVv7wg/XXXXXXXXX/AAAAAAAAAME/HdXja0HclK0/s800/DSC09176.JPG 
+0

Thực sự đã giúp tôi .. cảm ơn! –

+0

Thanks .. Nó làm việc –

5

Nếu bạn đang sử dụng Java Picasa API và cần phải nhận được URL của hình ảnh sau khi tải lên cố gắng sử dụng đoạn mã sau

try { 
     File photoFile = new File(getFileName()); 
     service = new PicasawebService(applicationName); 
     MediaFileSource photoMedia = new MediaFileSource(photoFile, "image/jpg"); 
     URL albumPostUrl = new URL(String.format("http://picasaweb.google.com/data/feed/api/user/%1$s/albumid/%2$s", getUserName(), getAlbumId())); 
     PhotoEntry returnedPhoto = service.insert(albumPostUrl, PhotoEntry.class, photoMedia); 

     String href = returnedPhoto.getHtmlLink().getHref(); 

     if (returnedPhoto.getMediaContents().size() > 0) { 
      // !!!!!!!!!!!!!!!This is exactly JPEG URL 
      href = returnedPhoto.getMediaContents().get(0).getUrl(); 
     } 
     logger.info(String.format("Image published: <%s>", href)); 
     return href; 
    } catch (AuthenticationException e) { 
     logger.error(e.getMessage(), e); 
     e.printStackTrace(); 
    } catch (MalformedURLException e) { 
     logger.error(e.getMessage(), e); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     logger.error(e.getMessage(), e); 
     e.printStackTrace(); 
    } catch (ServiceException e) { 
     logger.error(e.getMessage(), e); 
     e.printStackTrace(); 
    } 
+0

'returnPhoto.getMediaContents(). Get (0).getUrl() 'đã cho tôi những gì tôi muốn cho các png được tải lên của mình. Đó là liên kết trực tiếp mà tôi có thể sử dụng để liên kết nóng, nhúng, v.v. – KevinL

+0

Than ôi, điều này dường như bị giới hạn ở khoảng 512 pixel trên kích thước. – KevinL

Các vấn đề liên quan