kopaka1822 / imageviewer Goto Github PK
View Code? Open in Web Editor NEWHDR, PFM, DDS, KTX, EXR, PNG, JPG, BMP image viewer and manipulator
License: MIT License
HDR, PFM, DDS, KTX, EXR, PNG, JPG, BMP image viewer and manipulator
License: MIT License
Describe the bug
When I try to load a .ktx file, I just get an error dialog "Attempted to divide by zero".
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It opens the file, as it's evidently KTX 1.1 format (not KTX 2.0):
Desktop (please complete the following information):
I don't have C# installed at the moment for Visual Studio, just C++, but if you need a stack, I can try to build the project.
[update] I see the error happens with DDS files too, but not PNG or JPEG.
Is your feature request related to a problem? Please describe.
its not related to any problem.
Add shortcut to see texture in RGB mode (turn off Alpha channel)
Add shortcut to see texture in Alpha only mode (trun off RGB channel)
Describe the solution you'd like
just like XnView
press 'M', xnview will display alpha channel only ('M' means Mask, i guess)
press 'M' again, xnview ill restored to its previous display mode.
press Ctrl + 'H', turn off textures alpha channel.
Describe the bug
ASTC and ETC2 textures look different from orginal png
To Reproduce
use PVRTexToolGUI.exe to encode any png into astc (sRGB) (no mipmap) or ect2 (sRGB) (no mipmap), container is ktx.
in PVRTexToolGUI.exe, the encoded texture looks almost same as the original input png.
open the astc version in ImageViewer, it will looks much lighter
open the etc2 version in ImageViewer, it will looks much greener
I believe, your KTX(1.0) exported for cubemaps has some bug.
According to the specification 2.16:
For most textures imageSize is the number of bytes of pixel data in the current LOD level.
This includes all array layers, all z slices, all faces, all rows (or rows of blocks) and all pixels (or blocks) in each row for the mipmap level. It does not include any bytes in mipPadding.
The exception is non-array cubemap textures (any texture where numberOfFaces is 6 and numberOfArrayElements is 0). For these textures imageSize is the number of bytes in each face of the texture for the current LOD level, not including bytes in cubePadding or mipPadding.
But your exporter writes imageSize as number of bytes in 6 faces of the texture for the current LOD level.
Describe the bug
When trying to download the 3.5 version of the ZIP, Windows/Chrome won't allow it to be downloaded, saying it contains a virus.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
3.5 downloads correctly and virus free.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Is your feature request related to a problem? Please describe.
I need a tool for viewing & editing .ktx2 textures including comparing images compressed with varying compression parameters. I need it to run on macOS.
Describe the solution you'd like
I'd like ImageViewer ported to macOS and Linux.
Describe alternatives you've considered
Add ktc2 support to Compressonator but I've been reliably informed the code base is not of sufficient quality for basing a professional product on it.
Additional context
Do you any plan to or interest in porting ImageViewer?
Here's a bug report based on the provided template:
Describe the bug
When clicking on the "Export Batch" button, an error message appears stating: "Could not load file or assembly 'Microsoft.WindowsAPICodePack.Shell'."
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The batch export should complete successfully without any error messages.
File
If applicable, attach the file that causes the problem.
Desktop (please complete the following information):
Additional context
This error occurs consistently every time the 'Export Batch' button is clicked. The environment is Windows 10, and the application version is 3.8. The issue seems related to the Microsoft.WindowsAPICodePack.Shell assembly not being loaded correctly.
Describe the bug
If I generate grey-scale PFM with third parameter being different from 1, image in the viewer won't change
e.g.
Pf
100 100
-1.0
.....
will be displayed the same as
Pf
100 100
-5.0
.....
To Reproduce
Make simple PFM grey-scale with scale = 1. Display it. Change scale from -1 to -5. Same display
Expected behavior
Display should behave same was as if I multiplied data array by 5.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
Currently deleting an image, or enabeling an equation using a non-existent image deletes the equation. On the other hand it is possible to type a wrong equation without problems.
-> simply keep the equations and do not evaluate them in the above to cases. If someone presses the apply button the current error message will appear and the user can decide what to do with the equation.
If doing an export it would be much easier if the input filename would be used with a different file ending.
Since there is also the 'confirm overwrite' stuff I see no danger even if the file format is the same and the export name is the same as the input one. This would also resample a load/store cycle as common.
(abs(I0-I1))^2 looks different and more correct
With (I0-I1)^2, the negative areas become 0
Same for tonemapper.
Entering 8192 into field for latlong to cubemap and hitting ok causes program to exit. With the same texture, 4096 works and does not crash.
It would be great if I could produce a 8K cubemap from a 8K equirectangular image.
Great program btw, very useful and certaintly has great usable features! KTX & KTX2 support are top-notch!
Windows 10
NVIDIA Geforce 3060, latest drivers.
Thanks!
hey there, just did a weekly scan of my System and it really didnt like the imageViewer.exe.
what gives?
https://www.virustotal.com/gui/file/e60dfd191999eeaec4f1201cdb0e03ec1a89a21eb009c335043fc8b4a758f77d
new scan - above was older - but still same result :(
https://www.virustotal.com/gui/file/e60dfd191999eeaec4f1201cdb0e03ec1a89a21eb009c335043fc8b4a758f77d?nocache=1
Is your feature request related to a problem? Please describe.
For game asset research I am often faced with textures that included different types of information in separate channels of an image. For example, in the Unity engine standard shader, the roughness of the material is stored in the alpha channel of the metallic texture, or there are even further packed maps that include Ambient Occlusion, Metallicity, Specularity and Roughness into one picture, stored in the red, green, blue and alpha channel respectively.
Describe the solution you'd like
I would like to have a drop down or other kind of interface that allows me to explicitly only show a single channel as a greyscale picture so one can analyze the contents of such packed maps more efficiently. Oculante (another open source image viewer) has such a button, but it doesn't support all the exotic image formats (primarily DDS and BC5n) that I require for my research.
A simple dropdown or button interface that allows me to select RGBA, RGB, R, G, and B channels would make my life a lot easier, now that I have finally found an image viewer that can actually flawlessly open all the weird textures I am dealing with. Especially normal maps in the DDS format compressed with BC5n, that only have two channels, are finally able to be opened without having to convert them with texconv beforehand.
Describe alternatives you've considered
I have noticed that I can achieve this with the equations and the r(), g(), b(), and a() functions, but that is a lot of work compared to simply clicking a button, albeit it is quite useful for comparing the different channels to each other.
Additional context
here you can see the drop down from Oculante in the top left corner. The image viewer in the Blender 3D modeling software also has such a dropdown, but it's not exactly meant as a stand alone image viewer for quickly opening up images.
For gamma correction, only the numpad +/- work, which is detrimental especially on notebooks which do not have a numpad. To solve this, an additional binding for regular +/- seems desirable.
It would be nice if the status bar could display some information about the image format (e.g. is it RGB9E5)
3D rendering library "LOVR" includes a file ibl.ktx in its samples.
https://github.com/bjornbytes/lovr-docs/tree/v0.16.0/examples/Lighting/PBR_Materials
This was created from filament's "cmgen" app.
When ibl.ktx is opened in ImageViewer using FIle->Open, ImageViewer crashes (suddenly closes). There are no error messages.
Expected behavior
The file is probably legitimate. But if it is not valid ImageViewer should at least display an error message rather than crashing..
Desktop (please complete the following information):
It's a standard feature of every program that has to open files to use keyboard gestures such as Ctrl+O. It would be nice to implement this for the ImageViewer as well.
Average and Root Avg in the statistics window are extremely small (even smaller than the Min which should be impossible).
Describe the bug
When you try to use a filter parameter with a dot number, the tool will try to convert in to a int.
To Reproduce
.\ImageConsole.exe -open .\<ktx file> -addfilter .\Filter\gamma.hlsl -filterparam 0 Gamma 0.5 -export .\<pngfilename>.png RGBA8_SRGB
Expected behavior
I expected thats i can use float as a filter param
Screenshots
Error message:
could not convert "0.5" at index 2 to integer
Desktop (please complete the following information):
Windows 10
Additional context
The problem is in the file FilterParameterCommand.cs in the line 31. You try to read in as int not as a float. I fix it locally and test it.
Problemcode block
case ParameterType.Float:
fp.GetFloatModel().Value = reader.ReadInt("value");
break;
Fixedcode Block
case ParameterType.Float:
fp.GetFloatModel().Value = reader.ReadFloat("value");
break;
Imagination's PVRTexTool has the ability to view an image with the desired color space, but unfortunately it cannot be applied to an image and saved. I suggest adding this solution to ImageViewer, making it unique :)
Crashes with: "The type initializer for 'ImageFramework.DirectX.Device' threw an exception.", and no additional information
Specs: Windows 7 x64 D3D11 compatible GPU (GeForce 710M)
Use 1/3 weight for all channels in the stastics tab. Since there is a choice anyway, this does not break perception stuff. However, using pure average is better for algorithmic analysis where color is irrelevant.
(I1-1)*0.4 + 1
is wrongly interpreted as (I1-1)*(0.4+1)
Minor priority improvement.
Use a lock symbol to make the alpha equation match the RGB equation. Default is locked. Only allow typing in the alpha equation if the lock is explicitly released.
I have observed people to always edit both equations -- even if there is no alpha channel. And even if there is an alpha channel the wanted default behaviour is likely a copy.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.