Opera extension: Imagus
Monday, January 3, 2011 11:17:22 PM
By the way, this project is still under development, it doesn't contain serious bugs, but use with caution. The features aren't in final state, so their functionality may change, which means that after an update the extension maybe won't work properly or absolutely not.
Install extension Opera 11.60-12.15 To install the extension on Opera 12.10+, you have to add the following URL to the trusted sites (O-menu / Settings / Preferences (Ctrl+F12) / Advanced tab / Security / Trusted Websites):
http://files.myopera.com/Deathamns/extension/imagus/Or download the extension file and drop it into the browser window.
ViewerReplaces the browser's default image resizer to a more customizable version. For instance, it's possible to set the initial sizing mode or disable the resizing totally, it can detect if an image has higher resolution, adds possibility for rotation, options for changing background color or image border, zooming to a selected area or zooming with mouse wheel, and more...
Hover zoomEnlarges thumbnails and linked images (or even linked thumbnails) into a popup with just a mouse hover.
As well as the Viewer, it's also fairly customizable with some extra features, such as full-zoom which allows you to view the image with original size in the same tab, rotation or it can load image albums as well.
ToolsThis section contains global features or features that have less options.
Shortcuts - they can be used both on Viewer and Hover zoom
Opening images - many ways for opening images from web pages (e.g., background images)
Send image to... - it sends the image address to an online service (e.g., reverse image search, image editor, gif frame extractor...)
New service can be added in preferences (one per line).
Format: "[+]Name|search engine's URL". In the service URL is placed the image address with the %url variable.
If you put a "+" sign before the name (e.g., "+TinEye"), then it means that the service will be used when the shortcut is used. Multiple entries can be enabled, then all of them will be opened.
SieveThis is a set of rules which are helping the extension to find the larger images.
GalleryThis is something like a bookmark for images. It stores only the image address with a thumbnail, and if possible, then one or two source link. The "Source", which is the address of the page where you've seen the image, and the "Target", which is the address of the link (if it wasn't the same as the zoomed image address).
When an image is opened or "hoverzoomed", then pressing the shortcut (G by default) will add it to the list without any questions. Shift + G will prompt for labels. Deleting images from the list: Ctrl + Right click on the thumbnail cell or Ctrl + Click to select some and the minus button from the button-list. Shift + Right click on a cell to edit the labels.
GrantsAt Grants you can tell on which sites can the extension work.
It's also possible to block just some Sieve rules.
Syntax: grant operator (optionally followed by rules separated with commas) colon address
Also there is possibility to add comment lines, simply by starting the line with a ; (semicolon).
When you double the grant operator (! or ~), then it means that you want use regular expression in the URL. "*" means everything.
Example for blocking on all sites:
!:*Blocking all sites except opera.com (actually it will allow any URL that contains the "opera.com" string, and yes, the order matters):
!:* ~:opera.comTo block a few sites:
!:http://www.google.com !:opera.com !!:^ftp://Blocking on all Google sites, except German and French:
!:http://www.google.com/ ~~:^http://www\.google\.(?:de|fr)Allowing only the "MyOpera" and "LinkedImages" rules here on my.opera.com:
For the extension's icon thanks goes to http://esk6a.deviantart.com/
Known Issues# (vw) Rotated image has incorrect position
# (vw) When larger image was opened, going back won't properly load the smaller one
# (vw) "res" cannot be handled if it is a function
# (lst) Thumbnails are not loading when high-res mode disabled, and the specific rules support it
# (lst) Sometimes the last thumbnails are off the screen
# (hz) Only one SVG can be loaded in the popup at a given session (DSK-376698)
# (hz) SVGs disappear sometimes when zooming a bit deeper (seems it's an Opera bug)
# (hz) Preload doesn't work (only) for high-res images
# (hz) Preload on hover doesn't work if there is more than one possible image to load
# (hz) Hiding image dimensions in caption hides the whole caption
# (hz) Sometimes the image blinks once when it started to load, especially when interlaced loading is on (but If I have to guess, this is a bug in Opera, again)
Some Opera related issues.
v0.9.4 - January 20, 2013Read the changelog, because this time there is not much to talk about. If you don't understand something, feel free to ask.
Don't forget, there is no auto-update anymore, you have to click the "Update!" or "Install extension" link above. And, as usually, updating the Sieve is recommended too.
In addition, a translation management system was made in the background, so if you're interested in to translate the extension to your language, drop me an email (my username at myopera dot com).
v0.9.3 - September 09, 2012From this version the extension won't be automatically updated by the browser. However, the notification about new version will appear on the toolbar icon (the new version number with green background) as did before.
This means that next time you have to manually update the extension, coming here and clicking on the "Update!" link above (you can click on "Install extension" at the top, it's the same).
It's recommended to update, since if you don't, you won't get any notification about future releases.
v0.9.2 - August 17, 2012!! As in version 0.9, you have to update the Sieve again (Preferences / Sieve / the update button - double arrow pointing down). It must be done, otherwise most of the features of the extension won't work.
- From now, every "link" and "img" parameter must start without the https?:// protocol string and the www sub-domain (if present). This applies only to http.
The reason of this to skip writing every time the protocol, and the www, because they are very common, almost every rule starts with that.
For example if the URL is "http://www.opera.com/image" (we assume that the site has a secure connection, and it works also without www), then the older version's rule would look like this:
link: ^(https?//(www\.)?opera\.com/image) to: $1In the new version, the URL first will be converted to "opera.com/image" and this will be checked against the regexp, so now the rule should be written as:
link: ^(opera\.com/image) to: $1But the result will be the same; "http://www.opera.com/image" (returned by "to: $1"), because what is removed first, it will be added later. However, sometimes you want to prevent this behavior (adding what is removed), therefore if the replacement starts with http, then the script won't prepend the removed string.
There may be cases when the URL will work with "www" and some other sub-domain. E.g., "http://www.opera.com" and "http://test.opera.com". In that case the following expression will match only "http://test.opera.com", but not the URL with "www":
link: ^test\.opera\.comSince the www is removed, and now the URL can be "opera.com" or "test.opera.com", the correct expression would be:
Besides these, from now, the "to" parameter can have only one function, and that function can return multiple results joined by new lines. BUT, if you use this method, the full URL must be matched, and full URL must be returned. If "to" is not a function, these restrictions have no significance.
Something to play with...
The following stuff is experimental, they future and exact functionality is not known yet.
Screen capture (Opera 12.10+)
Since this sounds like an image related stuff, probably this will be implemented somehow into the extension. Actually, it's already working pretty well, however the only thing you can do with the captured image is to save.
So, how does it work?
Go to a random web-page, and press the shortcut (Alt+Shift+T by default, change at Prefs/Tools/Shortcuts) to capture the visible content or Ctrl+Alt+Shift+T to capture the entire page.
Opera can capture only the visible content, means, that the extension must jump all over the page to take shots of every part, which will seem a bit weird, so don't panic, just wait until a new page opens with the captured image (actually canvas), where you can choose the output format (jpeg or png), and then save as.
It works on all pages where an extension can work (text, html, xml, svg (of course svg can be saved in Opera already, which is the recommended method)).
There are sites that use infinite scrolling, or maybe you use an extension for that purpose (AutoPatchWork, AutoPager), but when you taking a screen-shot, probably you don't want to end up with a kilometer-long image, and that's why the extension won't go further than the page size was at the moment when the capture started.
There are floating elements that are always at the same place on the screen. Normally they would be printed on every frame, but the extension tires to handle them, but it's pretty hard to deal with them correctly, so maybe you won't always get the result what you want.
Other problems you may face with screen capturing:
- plugin-content can't be captured
- it can be used only when page-size is 100%
- you may get interesting results with enabled HWA
- on captured image text doesn't have sub-pixel rendering
- use "Fit to Width" to hide horizontal scrollbars if they're not needed
- dimensions of dynamic pages can change, which will result a somewhat broken image
- you may first scroll down the page to force the dynamically generated content to load
- "default" is the suggested filename when saving (since, sadly, there is no Opera API for saving files)
- the page is re-rendered before capture, so you won't get what you actually see (example)
- it may use pretty much memory on large pages (too long pages cannot be captured (a blank canvas will be shown), since Opera uses memory limit)
Extracting frames from animated images
As the title says, it can extract frames from APNG or GIF images, also play them slower/faster forward/backward.
Unfortunately, Opera doesn't use the global cache for extensions, so the image will be downloaded again, which will take a couple of moments for a few MB image (at the moment there is a size limit, maximum 15MB allowed).
To try out, add a new line to the "Send image to..." list at Preferences / Tools:
frames|anim.html?#%urlOr add this if you want to be able to save the frames (slower) (added by default):