Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Apple has introduced a new image format in iOS 11 called HEIF (.heic file extension). I know you can export images as JPG from iOS devices, but I want to upload the HEIC-files to my server and convert them there to JPEG files that can be shown on all other devices.
Can anyone recommend a good and efficient way to achieve this?
ANSWER:
Since this question has been closed, I will edit in my answer here for the rest of you. We now use this library for converting HEIC to JPEG: https://github.com/monostream/tifig
Also ImageMagick now support converting HEIC to JPEG thanks to a fork from #toshic
Thank you to #monostream and #toshic for your great contributions!
EDIT1: Edited the wording of the question to be more specific and meet SO guidelines
EDIT2: Added answer since this topic is now closed :/
It's complicated because iOS 11 is actually storing tiles of HEVC encoded images in a HEIF container, but there's a demo using the nokia lib to extract them all, ffmpeg to decode them and then stitching them into a single jpeg with imagemagick in the heiftest repo linked from corrupted HEIC tile when converting to JPEG
We also have a working one you can use by cloning https://github.com/pushd/heif and then:
cmake CMakeLists.txt && make && Bins/heiftojpeg test_001.heic test_001.jpg
There is no such library available right now for image conversion on a server for HEIF to JPEG, ImageMagick doesn't have support for that till now.
The only way you can do this by exporting your images from your device, that should produce a JPEG image.
Nokia has a HEIF reader javascript implementation which you can have a look at: Nokiatech heif
Alternate: You can try this website if this works.
Feature Request for ImageMagick
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
I'd like to deliver HEIF images through a CDN such as Amazon CloudFront after release iOS11.
But we can't use Nokia's HEIF implementation for commercial purposes because of this license.
So I'm looking for an another method to encode HEIF images.
Accordig to Introducing HEIF and HEVC, HEIF images can only be created by iOS devices that have A10 Fusion chip.
we currently only have HEIF encode support and hardware on iOS with minimum configuration being the A10 Fusion chip, an example, of which, is the iPhone 7 and the iPhone 7 Plus.
Can we deliver HEIF images that are created by iPhone7 etc through a CDN?
Is this a patent infringement?
Apple is only talking about hardware-level encoding support. HEIF is a format developed by MPEG and isn't Apple-controlled. Usability and support are still limited, but AFAIK there aren't any technical or legal reasons why you cant use it anywhere (if supported):
More information and links to C++ and JS libraries here: https://nokiatech.github.io/heif/
The licensing issue you're concerned about is only for Nokia's reference implementation. My guess is that Apple is using their own implementation. Regardless, it's not something you need to be concerned about.
If for some reason you are looking to create HEIF images yourself, there's at least one open-source implementation currently available for commercial use. Specifically, GPAC. Though its license (LGPL) does have its own set of potential drawbacks for commercial projects.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Sorry if this has been addressed before, I searched it up and I couldn't seem to find a question like this. I am making a social media app, and I want to preserve the quality of the images as much as possible. To make a data representation of the image I am using "UIImageJPEGRepresentation" and I would like to know what an optimal setting for the compression quality is.
One big consequence of setting the quality below 1 is that the image uploads to my server in much less time. I have experimented with the compression and to me I can't really tell the difference between 0.6 and 1 unless I zoom in on a computer, but I just wanted to know if there was a number or range that would produce favorable results.
One of the interesting and evolving format is Webp format that Google has introduced. This article suggests that Facebook is also trying to use this format. To answer the exact question as to how much to compress please note the following:
-Format of the image(I assume yours is JPEG)
-Compression technique(Lossy or Lossless)
-Target devices(I assume yours is mobile)
Considering above parameters(and more) and looking at the dimensions of all social networking sites I suggest you to get the compression level high enough such that you can see a difference in the image quality on the computer, that way you would have found an optimal level, remember lower the better till it degrades. Additionally you can find the information at this.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
I have an existing iTunesArtwork image
To modify the image I've converted it to png image
As I read that the iTunes artwork is nothing
but a png image without png extension
so I added a png extension and it became png image then I modified the image
then I removed the png extension and its not working as it supposed to be.
Any help is appreciated !
Thanks in advance !
The above steps are correct for window environment but in mac you have to follow the below steps/
Right click on the image -> Choose GetInfo -> Choose Name & extension
-> remove the extension.png -> close the GetInfo Box -> Give yes when prompted to save.
This is the way to remove or change extension in Mac
Hope this helps
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I have a legacy application that generates VRML 1.0 files. I'd like to build a WebGL-based web interface that can display these VRML files. Is there an easy way to do so?
Edit: Specified that they are VRML 1.0.
If you can get it to VRML 2.0 (VRML '97) using a tool like the above-referenced one from Parallelgraphics, you can use the Fraunhofer Institute's tools (see discussion and links to InstantReality at http://www.x3dom.org/?page_id=532) to go from VRML 2 to either X3DOM or X3D. With Firefox or Chrome and a current graphics card and driver, you've got the WebGL support needed to run X3DOM. X3DOM handles only a subset of X3D, but can be referenced straight from XHTML and CSS, or plug-ins required. It's at a much higher level and easier to deal with than dealing directly with WebGL.
As I understand it, X3D is a development from VRML, and there's a WebGL-based renderer for it called X3DOM. Converting over is unlikely to be zero-effort, but it might be easier than trying to make the jump all the way to a "native" WebGL format.
VRML can be pretty complex with lots of interactivity and it doesn't look like a ont-to-one converter is available. However, here is what you could try:
Convert your VRML file to a standard OBJ file using something like MeshConv
Import the converted file in CopperLicht (Free) or CopperCube (Not free)
You will then have some kind of conversion of your VRML file which you can fine-tune.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I have a batch of PNG files that I need to convert to JPEG. I'm looking for a free trustworthy utility that will give me the most optimal possible JPEGs.
I've found some paid utilities and i HAVE Photoshop, but I want something dedicated that is made for the task and I dont want to accidentally download spy ware.
I'm really surprised not to find this question already on StackOverflow, but please point me in the direction of any similar questions if they exist.
One word: ImageMagick.
Not sure about if it generates the absolute smallest JPEGs you can get, but it's certainly good and would be my first choice.
IrfanView is another option. It has a "Batch Convert/Rename" feature, but it's a Windows-only GUI app.
Imagemagick (http://www.imagemagick.org/script/index.php) can do batch conversion of images.
mogrify -format jpg *.png <= Converts all png files to jpg
The ImageMagick convert utility should do everything you require. There are a number of options which you can use to control the JPEG output quality.