Jesteśmy przechwytywanie kartę widoczną w przeglądarce Chrome (używając rozszerzenia API chrome.tabs.captureVisibleTab) i odbierania migawkę w schemacie URI danych (ciąg znaków zakodowany w Base64).Jak skalować obraz (w formacie danych URI) w JavaScript (prawdziwe skalowanie, nie używając do stylizacji)
Czy istnieje biblioteka JavaScript, której można użyć do skalowania obrazu do określonego rozmiaru?
Obecnie stylizujemy ją za pomocą CSS, ale musimy płacić kary za wydajność, ponieważ zdjęcia są przeważnie 100 razy większe niż wymagane. Dodatkowym problemem jest również obciążenie lokalnego magazynu, którego używamy do zapisywania naszych migawek.
Czy ktoś wie o sposobie przetwarzania tego schematu URI danych sformatowanych obrazów i zmniejszenia ich rozmiaru poprzez zmniejszenie ich skali?
Referencje:
- danych schematu URI na http://en.wikipedia.org/wiki/Data_URI_scheme
- Chrome Extensions API na http://code.google.com/chrome/extensions/tabs.html
- The "Ostatnio zamknięte karty" Chrome Extension na http://code.google.com/p/recently-closed-tabs
Dzięki Matthew, bardzo czysty przykład ... Musiałem mieć zbyt wiele niedźwiedzia w drugą noc, kiedy nie udało mi się uzyskać "dokładnie" tego samego działa ... jedyna różnica jest że użyłem istniejącego płótna z HTML. –
@kodra, powinieneś zaakceptować odpowiedź, jeśli rozwiąże ona twój problem. –
To również TYLKO skaluje obraz, a wynikowy "dataURL" jest tak duży, jak ten otrzymany bez użycia 'canvas.toDataURL()' (nawet jeśli przerysowałeś 'image' z nową szerokością i wysokością :() –