mirror of
https://github.com/QL-Win/QuickLook.git
synced 2025-09-11 17:59:17 +00:00
start working on NConvert
This commit is contained in:
@@ -53,14 +53,12 @@ namespace QuickLook.Plugin.HtmlViewer
|
||||
context.ViewerContent = _panel;
|
||||
context.Title = Path.IsPathRooted(path) ? Path.GetFileName(path) : path;
|
||||
|
||||
_panel.Navigate(path);
|
||||
_panel.LoadFile(path);
|
||||
_panel.Dispatcher.Invoke(() => { context.IsBusy = false; }, DispatcherPriority.Loaded);
|
||||
}
|
||||
|
||||
public void Cleanup()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
|
||||
_panel?.Dispose();
|
||||
_panel = null;
|
||||
}
|
||||
|
@@ -72,20 +72,13 @@
|
||||
<Reference Include="PresentationFramework" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="WebpagePanel.cs" />
|
||||
<Compile Include="WpfBrowserWrapper.cs" />
|
||||
<Page Include="WebpagePanel.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Compile Include="..\..\GitVersion.cs">
|
||||
<Link>Properties\GitVersion.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Plugin.cs" />
|
||||
<Compile Include="Helper.cs" />
|
||||
<Compile Include="WebpagePanel.xaml.cs">
|
||||
<DependentUpon>WebpagePanel.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs">
|
||||
|
49
QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebpagePanel.cs
Normal file
49
QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebpagePanel.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
// Copyright © 2017 Paddy Xu
|
||||
//
|
||||
// This file is part of QuickLook program.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Threading;
|
||||
using QuickLook.Common.Helpers;
|
||||
|
||||
namespace QuickLook.Plugin.HtmlViewer
|
||||
{
|
||||
public class WebpagePanel : WpfWebBrowserWrapper
|
||||
{
|
||||
public WebpagePanel()
|
||||
{
|
||||
Zoom = (int) (100 * DpiHelper.GetCurrentScaleFactor().Vertical);
|
||||
}
|
||||
|
||||
public void LoadFile(string path)
|
||||
{
|
||||
if (Path.IsPathRooted(path))
|
||||
path = Helper.FilePathToFileUrl(path);
|
||||
|
||||
Dispatcher.Invoke(() => { base.Navigate(path); }, DispatcherPriority.Loaded);
|
||||
}
|
||||
|
||||
public void LoadHtml(string html)
|
||||
{
|
||||
var s = new MemoryStream(Encoding.UTF8.GetBytes(html ?? ""));
|
||||
|
||||
Dispatcher.Invoke(() => { base.Navigate(s); }, DispatcherPriority.Loaded);
|
||||
}
|
||||
}
|
||||
}
|
@@ -36,13 +36,14 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
private ImageMagickProvider _imageMagickProvider;
|
||||
private int _lastEffecitvePreviousPreviousFrameIndex;
|
||||
|
||||
public APNGAnimationProvider(string path, Dispatcher uiDispatcher) : base(path, uiDispatcher)
|
||||
public APNGAnimationProvider(string path, NConvert meta, Dispatcher uiDispatcher) : base(path, meta,
|
||||
uiDispatcher)
|
||||
{
|
||||
var decoder = new APNGBitmap(path);
|
||||
|
||||
if (decoder.IsSimplePNG)
|
||||
{
|
||||
_imageMagickProvider = new ImageMagickProvider(path, uiDispatcher);
|
||||
_imageMagickProvider = new ImageMagickProvider(path, meta, uiDispatcher);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -20,7 +20,6 @@ using System.IO;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Threading;
|
||||
using QuickLook.Plugin.ImageViewer.Exiv2;
|
||||
|
||||
namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
{
|
||||
@@ -40,7 +39,7 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
_animation = null;
|
||||
}
|
||||
|
||||
private static AnimationProvider LoadFullImageCore(Uri path, Dispatcher uiDispatcher)
|
||||
private static AnimationProvider LoadFullImageCore(Uri path, NConvert meta, Dispatcher uiDispatcher)
|
||||
{
|
||||
byte[] sign;
|
||||
using (var reader =
|
||||
@@ -52,11 +51,11 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
AnimationProvider provider;
|
||||
|
||||
if (sign[0] == 'G' && sign[1] == 'I' && sign[2] == 'F' && sign[3] == '8')
|
||||
provider = new GifAnimationProvider(path.LocalPath, uiDispatcher);
|
||||
provider = new GifAnimationProvider(path.LocalPath, meta, uiDispatcher);
|
||||
else if (sign[0] == 0x89 && sign[1] == 'P' && sign[2] == 'N' && sign[3] == 'G')
|
||||
provider = new APNGAnimationProvider(path.LocalPath, uiDispatcher);
|
||||
provider = new APNGAnimationProvider(path.LocalPath, meta, uiDispatcher);
|
||||
else
|
||||
provider = new ImageMagickProvider(path.LocalPath, uiDispatcher);
|
||||
provider = new ImageMagickProvider(path.LocalPath, meta, uiDispatcher);
|
||||
|
||||
return provider;
|
||||
}
|
||||
@@ -72,7 +71,7 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
new UIPropertyMetadata(null, AnimationUriChanged));
|
||||
|
||||
public static readonly DependencyProperty MetaProperty =
|
||||
DependencyProperty.Register("Meta", typeof(Meta), typeof(AnimatedImage));
|
||||
DependencyProperty.Register("Meta", typeof(NConvert), typeof(AnimatedImage));
|
||||
|
||||
public int AnimationFrameIndex
|
||||
{
|
||||
@@ -86,9 +85,9 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
set => SetValue(AnimationUriProperty, value);
|
||||
}
|
||||
|
||||
public Meta Meta
|
||||
public NConvert Meta
|
||||
{
|
||||
private get => (Meta) GetValue(MetaProperty);
|
||||
private get => (NConvert) GetValue(MetaProperty);
|
||||
set => SetValue(MetaProperty, value);
|
||||
}
|
||||
|
||||
@@ -100,7 +99,7 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
//var thumbnail = instance.Meta?.GetThumbnail(true);
|
||||
//instance.Source = thumbnail;
|
||||
|
||||
instance._animation = LoadFullImageCore((Uri) ev.NewValue, instance.Dispatcher);
|
||||
instance._animation = LoadFullImageCore((Uri) ev.NewValue, instance.Meta, instance.Dispatcher);
|
||||
|
||||
instance.BeginAnimation(AnimationFrameIndexProperty, instance._animation.Animator);
|
||||
instance.AnimationFrameIndex = 0;
|
||||
|
@@ -25,9 +25,10 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
{
|
||||
internal abstract class AnimationProvider : IDisposable
|
||||
{
|
||||
protected AnimationProvider(string path, Dispatcher uiDispatcher)
|
||||
protected AnimationProvider(string path, NConvert meta, Dispatcher uiDispatcher)
|
||||
{
|
||||
Path = path;
|
||||
Meta = meta;
|
||||
Dispatcher = uiDispatcher;
|
||||
}
|
||||
|
||||
@@ -35,6 +36,8 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
|
||||
public string Path { get; }
|
||||
|
||||
public NConvert Meta { get; }
|
||||
|
||||
public Int32AnimationUsingKeyFrames Animator { get; protected set; }
|
||||
|
||||
public abstract void Dispose();
|
||||
|
@@ -31,7 +31,8 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
private BitmapSource _frameSource;
|
||||
private bool _isPlaying;
|
||||
|
||||
public GifAnimationProvider(string path, Dispatcher uiDispatcher) : base(path, uiDispatcher)
|
||||
public GifAnimationProvider(string path, NConvert meta, Dispatcher uiDispatcher) : base(path, meta,
|
||||
uiDispatcher)
|
||||
{
|
||||
_frame = (Bitmap) Image.FromFile(path);
|
||||
_frameSource = _frame.ToBitmapSource();
|
||||
|
@@ -20,54 +20,32 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Threading;
|
||||
using ImageMagick;
|
||||
using QuickLook.Plugin.ImageViewer.Exiv2;
|
||||
|
||||
namespace QuickLook.Plugin.ImageViewer.AnimatedImage
|
||||
{
|
||||
internal class ImageMagickProvider : AnimationProvider
|
||||
{
|
||||
private readonly string _path;
|
||||
private readonly BitmapSource _thumbnail;
|
||||
|
||||
public ImageMagickProvider(string path, Dispatcher uiDispatcher) : base(path, uiDispatcher)
|
||||
public ImageMagickProvider(string path, NConvert meta, Dispatcher uiDispatcher) : base(path, meta, uiDispatcher)
|
||||
{
|
||||
_path = path;
|
||||
_thumbnail = new Meta(path).GetThumbnail(true);
|
||||
|
||||
Animator = new Int32AnimationUsingKeyFrames();
|
||||
Animator.KeyFrames.Add(new DiscreteInt32KeyFrame(0,
|
||||
KeyTime.FromTimeSpan(TimeSpan.Zero))); // thumbnail/full image
|
||||
|
||||
if (_thumbnail != null)
|
||||
Animator.KeyFrames.Add(new DiscreteInt32KeyFrame(1,
|
||||
KeyTime.FromTimeSpan(TimeSpan.FromSeconds(0.20)))); // full image
|
||||
}
|
||||
|
||||
public override Task<BitmapSource> GetRenderedFrame(int index)
|
||||
{
|
||||
// the first image is always returns synchronously.
|
||||
if (index == 0 && _thumbnail != null) return new Task<BitmapSource>(() => _thumbnail);
|
||||
|
||||
return new Task<BitmapSource>(() =>
|
||||
{
|
||||
using (var image = new MagickImage(_path))
|
||||
using (var ms = Meta.GetPngStream())
|
||||
{
|
||||
try
|
||||
{
|
||||
image.AddProfile(ColorProfile.SRGB);
|
||||
}
|
||||
catch (MagickResourceLimitErrorException)
|
||||
{
|
||||
// https://github.com/xupefei/QuickLook/issues/292: ColorspaceColorProfileMismatch
|
||||
}
|
||||
var img = new BitmapImage();
|
||||
img.BeginInit();
|
||||
img.StreamSource = ms;
|
||||
img.CacheOption = BitmapCacheOption.OnLoad;
|
||||
img.EndInit();
|
||||
img.Freeze();
|
||||
|
||||
image.Density = new Density(Math.Floor(image.Density.X), Math.Floor(image.Density.Y));
|
||||
image.AutoOrient();
|
||||
|
||||
var bs = image.ToBitmapSource();
|
||||
bs.Freeze();
|
||||
return bs;
|
||||
return img;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@@ -1,48 +0,0 @@
|
||||
// Copyright © 2017 Paddy Xu
|
||||
//
|
||||
// This file is part of QuickLook program.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
using System.Windows;
|
||||
using ImageMagick;
|
||||
using QuickLook.Plugin.ImageViewer.Exiv2;
|
||||
|
||||
namespace QuickLook.Plugin.ImageViewer
|
||||
{
|
||||
internal static class ImageFileHelper
|
||||
{
|
||||
internal static Size GetImageSize(string path, Meta meta)
|
||||
{
|
||||
var size = meta.GetSize();
|
||||
|
||||
if (!size.IsEmpty)
|
||||
return size;
|
||||
|
||||
try
|
||||
{
|
||||
var info = new MagickImageInfo(path);
|
||||
|
||||
if (meta.GetOrientation() == OrientationType.RightTop ||
|
||||
meta.GetOrientation() == OrientationType.LeftBotom)
|
||||
return new Size {Width = info.Height, Height = info.Width};
|
||||
return new Size {Width = info.Width, Height = info.Height};
|
||||
}
|
||||
catch (MagickException)
|
||||
{
|
||||
return Size.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -34,7 +34,6 @@ using QuickLook.Common.Annotations;
|
||||
using QuickLook.Common.ExtensionMethods;
|
||||
using QuickLook.Common.Helpers;
|
||||
using QuickLook.Common.Plugin;
|
||||
using QuickLook.Plugin.ImageViewer.Exiv2;
|
||||
|
||||
namespace QuickLook.Plugin.ImageViewer
|
||||
{
|
||||
@@ -50,7 +49,7 @@ namespace QuickLook.Plugin.ImageViewer
|
||||
private bool _isZoomFactorFirstSet = true;
|
||||
private DateTime _lastZoomTime = DateTime.MinValue;
|
||||
private double _maxZoomFactor = 3d;
|
||||
private Meta _meta;
|
||||
private NConvert _meta;
|
||||
private Visibility _metaIconVisibility = Visibility.Visible;
|
||||
private double _minZoomFactor = 0.1d;
|
||||
private BitmapScalingMode _renderMode = BitmapScalingMode.HighQuality;
|
||||
@@ -85,7 +84,7 @@ namespace QuickLook.Plugin.ImageViewer
|
||||
viewPanel.ManipulationDelta += ViewPanel_ManipulationDelta;
|
||||
}
|
||||
|
||||
internal ImagePanel(ContextObject context, Meta meta) : this()
|
||||
internal ImagePanel(ContextObject context, NConvert meta) : this()
|
||||
{
|
||||
_context = context;
|
||||
Meta = meta;
|
||||
@@ -227,7 +226,7 @@ namespace QuickLook.Plugin.ImageViewer
|
||||
}
|
||||
}
|
||||
|
||||
public Meta Meta
|
||||
public NConvert Meta
|
||||
{
|
||||
get => _meta;
|
||||
set
|
||||
@@ -256,18 +255,18 @@ namespace QuickLook.Plugin.ImageViewer
|
||||
private void ShowMeta()
|
||||
{
|
||||
textMeta.Inlines.Clear();
|
||||
Meta.GetSummary().ForEach(m =>
|
||||
Meta.GetExif().ForEach(m =>
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(m.Key) || string.IsNullOrWhiteSpace(m.Value))
|
||||
if (string.IsNullOrWhiteSpace(m.Item1) || string.IsNullOrWhiteSpace(m.Item2))
|
||||
return;
|
||||
|
||||
if (m.Key == "File name" || m.Key == "File size" || m.Key == "MIME type" || m.Key == "Exif comment"
|
||||
|| m.Key == "Thumbnail" || m.Key == "Exif comment")
|
||||
if (m.Item1 == "File name" || m.Item1 == "File size" || m.Item1 == "MIME type" || m.Item1 == "Exif comment"
|
||||
|| m.Item1 == "Thumbnail" || m.Item1 == "Exif comment")
|
||||
return;
|
||||
|
||||
textMeta.Inlines.Add(new Run(m.Key) {FontWeight = FontWeights.SemiBold});
|
||||
textMeta.Inlines.Add(new Run(m.Item1) {FontWeight = FontWeights.SemiBold});
|
||||
textMeta.Inlines.Add(": ");
|
||||
textMeta.Inlines.Add(m.Value);
|
||||
textMeta.Inlines.Add(m.Item2);
|
||||
textMeta.Inlines.Add("\r\n");
|
||||
});
|
||||
textMeta.Inlines.Remove(textMeta.Inlines.LastInline);
|
||||
|
196
QuickLook.Plugin/QuickLook.Plugin.ImageViewer/NConvert.cs
Normal file
196
QuickLook.Plugin/QuickLook.Plugin.ImageViewer/NConvert.cs
Normal file
@@ -0,0 +1,196 @@
|
||||
// Copyright © 2018 Paddy Xu
|
||||
//
|
||||
// This file is part of QuickLook program.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
|
||||
namespace QuickLook.Plugin.ImageViewer
|
||||
{
|
||||
public enum Orientation
|
||||
{
|
||||
Undefined = 0,
|
||||
TopLeft = 1,
|
||||
TopRight = 2,
|
||||
BottomRight = 3,
|
||||
BottomLeft = 4,
|
||||
LeftTop = 5,
|
||||
RightTop = 6,
|
||||
RightBottom = 7,
|
||||
Leftbottom = 8
|
||||
}
|
||||
|
||||
public class NConvert
|
||||
{
|
||||
private static readonly string NConvertPath =
|
||||
Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "NConvert\\nconvert.exe");
|
||||
private readonly string _path;
|
||||
private List<Tuple<string, string>> _metaBasic = new List<Tuple<string, string>>();
|
||||
private List<Tuple<string, string>> _metaExif = new List<Tuple<string, string>>();
|
||||
|
||||
public NConvert(string path)
|
||||
{
|
||||
_path = path;
|
||||
|
||||
GetMeta();
|
||||
}
|
||||
|
||||
public List<Tuple<string, string>> GetExif()
|
||||
{
|
||||
return _metaExif;
|
||||
}
|
||||
|
||||
public MemoryStream GetPngStream()
|
||||
{
|
||||
var temp = Path.GetTempFileName();
|
||||
File.Delete(temp);
|
||||
|
||||
//
|
||||
var d = RunInternal($"-quiet -embedded_jpeg -out png -o \"{temp}\" \"{_path}\"", 10000);
|
||||
|
||||
var ms = new MemoryStream(File.ReadAllBytes(temp));
|
||||
|
||||
File.Delete(temp);
|
||||
|
||||
return ms;
|
||||
}
|
||||
|
||||
public Size GetSize()
|
||||
{
|
||||
var ws = _metaBasic.Find(t => t.Item1 == "Width")?.Item2;
|
||||
var hs = _metaBasic.Find(t => t.Item1 == "Height")?.Item2;
|
||||
int.TryParse(ws, out var w);
|
||||
int.TryParse(hs, out var h);
|
||||
|
||||
if (w == 0 || h == 0)
|
||||
return Size.Empty;
|
||||
|
||||
switch (GetOrientation())
|
||||
{
|
||||
case Orientation.LeftTop:
|
||||
case Orientation.RightTop:
|
||||
case Orientation.RightBottom:
|
||||
case Orientation.Leftbottom:
|
||||
return new Size(h, w);
|
||||
default:
|
||||
return new Size(w, h);
|
||||
}
|
||||
}
|
||||
|
||||
public Orientation GetOrientation()
|
||||
{
|
||||
var o = _metaExif.Find(t => t.Item1 == "Orientation")?.Item2;
|
||||
if (!string.IsNullOrEmpty(o))
|
||||
{
|
||||
return (Orientation) int.Parse(o.Substring(o.Length - 2, 1));
|
||||
}
|
||||
|
||||
return Orientation.TopLeft;
|
||||
}
|
||||
|
||||
private void GetMeta()
|
||||
{
|
||||
var lines = RunInternal($"-quiet -fullinfo \"{_path}\"")
|
||||
.Replace("\r\n", "\n")
|
||||
.Split('\n');
|
||||
|
||||
var crtDict = _metaBasic;
|
||||
for (var i = 0; i < lines.Length; i++)
|
||||
{
|
||||
var segs = lines[i].Split(':');
|
||||
if (segs.Length != 2)
|
||||
continue;
|
||||
|
||||
var k = segs[0];
|
||||
var v = segs[1];
|
||||
|
||||
if (k == "EXIF")
|
||||
crtDict = _metaExif;
|
||||
|
||||
if (k.StartsWith(" "))
|
||||
{
|
||||
if (crtDict == _metaBasic) // trim all 4 spaces
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(v))
|
||||
crtDict.Add(new Tuple<string, string>(k.Trim(), v.Trim()));
|
||||
}
|
||||
else // in exif
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(v))
|
||||
{
|
||||
var kk = k.Substring(0, k.Length - 8).Trim();
|
||||
crtDict.Add(new Tuple<string, string>(kk, v.Trim())); // -8 to remove "(0xa001)"
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (k.StartsWith(" "))
|
||||
{
|
||||
crtDict.Add(new Tuple<string, string>(k.Trim(), string.Empty));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string RunInternal(string arg, int timeout = 2000)
|
||||
{
|
||||
try
|
||||
{
|
||||
string result;
|
||||
using (var p = new Process())
|
||||
{
|
||||
p.StartInfo.UseShellExecute = false;
|
||||
p.StartInfo.CreateNoWindow = true;
|
||||
p.StartInfo.RedirectStandardOutput = true;
|
||||
p.StartInfo.FileName = NConvertPath;
|
||||
p.StartInfo.Arguments = arg;
|
||||
p.Start();
|
||||
|
||||
result = p.StandardOutput.ReadToEnd();
|
||||
p.WaitForExit(timeout);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static class Extensions
|
||||
{
|
||||
public static byte[] ReadToEnd(this Stream stream)
|
||||
{
|
||||
using (var ms = new MemoryStream())
|
||||
{
|
||||
var buffer = new byte[8192];
|
||||
int count;
|
||||
while ((count = stream.Read(buffer, 0, buffer.Length)) > 0)
|
||||
{
|
||||
ms.Write(buffer, 0, count);
|
||||
}
|
||||
|
||||
return ms.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
@@ -0,0 +1,508 @@
|
||||
------------------------------------------
|
||||
NConvert v7.20
|
||||
XnView v2.45
|
||||
|
||||
Copyright (c) 1991-2018 Pierre-E Gougelet
|
||||
All Rights Reserved.
|
||||
|
||||
E-Mail: webmaster@xnview.com
|
||||
WWW: http://www.xnview.com
|
||||
------------------------------------------
|
||||
|
||||
|
||||
Supported formats Extension Remarks
|
||||
======================================================================================================
|
||||
|
||||
[max] 3DS Max thumbnail max
|
||||
[bpr] AAA logo bpr
|
||||
[ace] ACE texture ace
|
||||
[adex] ADEX img rle
|
||||
[aim] AIM Grey Scale ima im
|
||||
[arf] ARF arf
|
||||
[att] AT&T Group 4 att
|
||||
[sst] AVHRR Image sst
|
||||
[awd] AWD awd Windows only, Plugin required
|
||||
[apx] Ability Photopaint Image apx
|
||||
[acc] Access g4 acc
|
||||
[aces] Aces200 ace
|
||||
[acorn] Acorn Sprite acorn
|
||||
[adt] AdTech perfectfax adt
|
||||
[ai] Adobe Illustrator ai
|
||||
[aphp] Adobe PhotoParade (images) php
|
||||
[psd] Adobe Photoshop psd
|
||||
[ocp] Advanced Art Studio ocp art pic
|
||||
[anv] AirNav anv
|
||||
[frm2] Album b<>b<EFBFBD> frm
|
||||
[alias] Alias Image File pix als alias
|
||||
[abmp] Alpha Microsystems BMP bmp
|
||||
[2d] Amapi 2d
|
||||
[ami] Amica Paint ami [b]
|
||||
[iff] Amiga IFF iff blk
|
||||
[info] Amiga icon info
|
||||
[cpc] Amstrad Cpc Screen cpc
|
||||
[atk] Andrew Toolkit raster object atk
|
||||
[hdru] Apollo HDRU hdru hdr gn
|
||||
[arcib] ArcInfo Binary hdr
|
||||
[artdir] Art Director art
|
||||
[art] Artisan art
|
||||
[a64] Artist 64 a64
|
||||
[arn] Astronomical Research Network arn
|
||||
[pcp] Atari grafik pcp
|
||||
[aurora] Aurora sim
|
||||
[afx] Auto F/X afx
|
||||
[dwg] AutoCAD DWG dwg Windows only, Third Party Plugin required (http://www.cadsofttools.com)
|
||||
[dxf] AutoCAD DXF dxf Windows only, Third Party Plugin required (http://www.cadsofttools.com)
|
||||
[cadc] Autocad CAD-Camera img
|
||||
[fli] Autodesk Animator fli flc
|
||||
[qcad] Autodesk QuickCAD thumbnail cad
|
||||
[skf] Autodesk SKETCH thumbnail skf
|
||||
[skp] Autodesk SketchUp component skp
|
||||
[gm] Autologic gm gm2 gm4
|
||||
[epa] Award Bios Logo epa
|
||||
[ssp] Axialis Screensaver (images) ssp
|
||||
[b3d] B3D (images) b3d
|
||||
[bfli] BFLI bfl bfli fli flp afl
|
||||
[bias] BIAS FringeProcessor msk img raw flt
|
||||
[bmf] BMF bmf Windows only, Plugin required
|
||||
[kap] BSB/KAP kap
|
||||
[byusir] BYU SIR sir
|
||||
[bmg] Bert's Coloring bmg ibg
|
||||
[bfx] Bfx Bitware bfx
|
||||
[biorad] Bio-Rad confocal pic
|
||||
[pi] Blazing Paddles pi
|
||||
[bob] Bob Raytracer bob
|
||||
[bdr] Brender pix
|
||||
[brk] Brooktrout 301 brk 301 brt
|
||||
[uni] Brother Fax uni
|
||||
[til] Buttonz & Tilez texture til
|
||||
[cals] CALS Raster cal cals gp4 mil
|
||||
[cdu] CDU Paint cdu
|
||||
[cgm] CGM cgm Windows only, Third Party Plugin required (http://www.cadsofttools.com)
|
||||
[dsi] CImage dsi
|
||||
[cmu] CMU Window Manager cmu
|
||||
[cp8] CP8 256 Gray Scale cp8
|
||||
[crg] Calamus cpi crg
|
||||
[cr2] Canon EOS-1D Mark II RAW cr2
|
||||
[can] Canon Navigator Fax can
|
||||
[crw] Canon PowerShot crw
|
||||
[mbig] Cartes Michelin big
|
||||
[cam] Casio QV-10/100 Camera cam
|
||||
[cmt] Chinon ES-1000 digital camera cmt
|
||||
[cip] Cisco IP Phone cip
|
||||
[cloe] Cloe Ray-Tracer clo cloe
|
||||
[rix] ColoRIX rix sci scx sc?
|
||||
[wlm] CompW wlm Windows only, Plugin required
|
||||
[gif] CompuServe GIF gif giff
|
||||
[ce] Computer Eyes, Digital Vision ce
|
||||
[ce1] ComputerEyes Raw ce1 ce2
|
||||
[icd] Core IDC idc
|
||||
[cdr] Corel Draw Bitmap (preview) cdr
|
||||
[cpat] Corel Draw Pattern (preview) pat
|
||||
[cbmf] Corel Flow (preview) bmf
|
||||
[cmx] Corel Metafile Exchange (preview) cmx
|
||||
[cpt] Corel PhotoPaint 6.0 cpt
|
||||
[cncd] CoverDesigner (images) ncd
|
||||
[cnct] CoverDesigner Template (images) nct
|
||||
[cart] Crayola art
|
||||
[dbw] DBW Render
|
||||
[map] DIV Game Studio Map map
|
||||
[fpg] DIV Game Studio Multi Map fpg
|
||||
[dkb] DKB Ray-Tracer dis
|
||||
[dpx] DPX dpx
|
||||
[dali] Dali Raw sd0 sd1 sd2
|
||||
[dcpy] Datacopy img
|
||||
[degas] Degas & Degas Elite pi1 pc1 pi2 pc2 pi3 pc3 pi4 pi5 pi6
|
||||
[lbm] Deluxe Paint, Electronic Arts lbm ilbm
|
||||
[dicom] Dicom dcm acr dic dicom dc3
|
||||
[tdim] Digital F/X tdim
|
||||
[gem] Digital Research (GEM Paint) img gem
|
||||
[dds] Direct Draw Surface dds
|
||||
[dcmp] Discorp CMP Image cmp
|
||||
[djvu] DjVu djvu djv iw4 Windows only, Plugin required
|
||||
[dol] DolphinEd dol
|
||||
[doodle] Doodle Atari doo
|
||||
[dd] Doodle C64 dd
|
||||
[jj] Doodle C64 (Compressed) jj
|
||||
[cut] Dr Halo cut
|
||||
[drz] Draz Paint drz
|
||||
[fsh] EA Sports FSH fsh
|
||||
[epi] EPS Interchange Format epi ept Ghostscript needed, available on http://www.cs.wisc.edu/~ghost/
|
||||
[eri] ERI-chan (Entis Rasterized Image) eri Windows only, Plugin required
|
||||
[esmp] ESM Software Pix pix
|
||||
[ecc] Ecchi ecc
|
||||
[tile] Eclipse tile
|
||||
[c4] Edmics c4
|
||||
[trup] Egg Paint trp
|
||||
[eidi] Electric Image ei eidi
|
||||
[bmc] Embroidery bmc
|
||||
[eps] Encapsulated Postscript ps eps
|
||||
[epsp] Encapsulated Postscript(Preview) eps
|
||||
[esm] Enhance Simplex esm
|
||||
[ecw] Enhanced Compressed Wavelet ecw Windows only, Plugin required
|
||||
[eif] Eroiica eif
|
||||
[efx] Everex Everfax efx ef3
|
||||
[tdi] Explore (TDI) & Maya iff tdi
|
||||
[fif] FIF (Iterated System) fif Windows only, Plugin required
|
||||
[fit] FIT fit
|
||||
[fpt] Face Painter fpt
|
||||
[pwc] Fast Piecewise-constant pwc Windows only, Plugin required
|
||||
[fax] Fax Group 3 g3 fax
|
||||
[fmf] Fax man fmf
|
||||
[fcx] Faxable PCX fcx
|
||||
[ftf] Faxable TIFF ftf
|
||||
[fmap] Fenix Map map
|
||||
[ffpg] Fenix Multi Map fpg
|
||||
[fmag] FileMagic mag
|
||||
[fi] Flash Image fi
|
||||
[ncy] FlashCam Frame ncy
|
||||
[ncy] FlashCam frame ncy
|
||||
[fpx] FlashPix Format fpx Windows only, Plugin required
|
||||
[fits] Flexible Image Transport System fts fits fit
|
||||
[bsg] Fontasy Grafik bsg
|
||||
[f96] Fremont Fax96 f96
|
||||
[fx3] Fugawi Map fx3
|
||||
[raf] Fuji S2 RAW raf
|
||||
[fp2] Fun Painter II fp2 fun
|
||||
[fpr] Fun Photor fpr
|
||||
[fbm] Fuzzy bitmap fbm cbm
|
||||
[g16] GRS16 g16
|
||||
[gmf] Gamma Fax gmf
|
||||
[geo] GeoPaint geo
|
||||
[gfaray] Gfa Raytrace sul
|
||||
[gih] GigaPaint Hi-res gih
|
||||
[gig] GigaPaint Multi gig
|
||||
[xcf] Gimp Bitmap xcf
|
||||
[gbr] Gimp Brush gbr
|
||||
[gicon] Gimp Icon ico
|
||||
[gpat] Gimp Pattern pat
|
||||
[god] GoDot 4bt 4bit clp
|
||||
[gun] GunPaint gun ifl
|
||||
[hdri] HDRI hdr hdri
|
||||
[hf] HF hf
|
||||
[grob] HP-48/49 GROB gro grb
|
||||
[of] HP-49 OpenFire gro2 gro4
|
||||
[hpgl] HPGL-2 hp hpg hgl plt hpgl prn prt spl Windows only, Third Party Plugin required (http://www.cadsofttools.com)
|
||||
[hru] HRU hru
|
||||
[hsi] HSI Raw raw
|
||||
[mdl] Half-Life Model mdl
|
||||
[jtf] Hayes JTFax jtf
|
||||
[hpi] Hemera Photo Image hpi
|
||||
[hta] Hemera Thumbs hta
|
||||
[m8] Heretic II MipMap m8
|
||||
[hed] Hi-Eddi hed
|
||||
[hir] Hires C64 hir hbm
|
||||
[lif] Homeworld Texture lif
|
||||
[kps] IBM Kips kps
|
||||
[pseg] IBM Printer Page Segment pse
|
||||
[im5] IM5 (Visilog) im5
|
||||
[imt] IMNET Image imt
|
||||
[ioca] IOCA ica ioca mod
|
||||
[iss] ISS iss
|
||||
[icl] Icon Library icl
|
||||
[icb] Image Capture Board icb
|
||||
[miff] Image Magick file mif miff
|
||||
[ish] Image Speeder ish
|
||||
[cish] Image System (Hires) ish
|
||||
[cism] Image System (Multicolor) ism
|
||||
[rlc2] Image Systems RLC2 Graphic rlc
|
||||
[ilab] ImageLab b&w b_w
|
||||
[g3n] Imaging Fax g3n
|
||||
[imgt] Imaging Technology img
|
||||
[img] Img Software Set img
|
||||
[iim] Inshape iim
|
||||
[ciph] InterPaint (Hires) iph
|
||||
[cipt] InterPaint (Multicolor) ipt
|
||||
[ingr] Intergraph Format itg cit rle
|
||||
[iimg] Interleaf iimg
|
||||
[ct] Iris CT ct
|
||||
[iris] Iris Graphics iris
|
||||
[wic] J Wavelet Image Codec wic Windows only, Plugin required
|
||||
[jbig] JBIG jbg bie jbig Windows only, Plugin required
|
||||
[jb2] JBIG-2 jb2 Windows only, Plugin required
|
||||
[*] JFIF based file
|
||||
[jpeg] JPEG / JFIF jpg jpeg jif jfif J jpe
|
||||
[mjpg] JPEG 8BIM header (Mac) jpg jpeg jif jfif J jpe Windows only, Plugin required
|
||||
[jpc] JPEG-2000 Code Stream jpc Windows only, Plugin required
|
||||
[jp2] JPEG-2000 JP2 File Format jp2 j2k jpx jpf Windows only, Plugin required
|
||||
[jls] JPEG-LS jls Windows only, Plugin required
|
||||
[jif] Jeff's Image Format jif
|
||||
[jig] Jigsaw jig
|
||||
[vi] Jovian VI vi
|
||||
[jng] Jpeg Network Graphics jng Windows only, Plugin required
|
||||
[btn] JustButtons animated bitmap btn
|
||||
[kntr] KONTRON img
|
||||
[viff] Khoros Visualization Image file vif viff xv
|
||||
[kskn] KinuPix Skin thb
|
||||
[cel] Kiss Cel cel
|
||||
[koa] Koala Paint koa
|
||||
[gg] Koala Paint (Compressed) gg
|
||||
[cin] Kodak Cineon cin
|
||||
[kdc] Kodak DC120 Digital Camera kdc
|
||||
[k25] Kodak DC25 Camera k25
|
||||
[pcd] Kodak Photo CD pcd
|
||||
[dcr] Kodak Pro Digital RAW dcr
|
||||
[kfx] Kofax Group 4 kfx
|
||||
[kqp] Konica Camera File kqp
|
||||
[lss] LSS16 lss 16
|
||||
[lvp] LView Pro lvp
|
||||
[lda] LaserData lda
|
||||
[lwi] Light Work Image lwi
|
||||
[lff] LucasFilm Format lff
|
||||
[lcel] Lumena CEL cel
|
||||
[ldf] LuraDocument Format ldf Windows only, Plugin required
|
||||
[ldfjpm] LuraDocument.jpm Format jpm Windows only, Plugin required
|
||||
[lwf] LuraWave Format lwf Windows only, Plugin required
|
||||
[lwfjpc] LuraWave JPEG-2000 Code Stream jpc Windows only, Plugin required
|
||||
[lwfjp2] LuraWave JPEG-2000 Format jp2 j2k jpx jpf Windows only, Plugin required
|
||||
[mag] MAKIchan Graphics mag
|
||||
[pzp] MGI Photosuite Project (images) pzp
|
||||
[mgr] MGR bitmap mgr
|
||||
[mtv] MTV Ray-Tracer mtv
|
||||
[mac] Mac Paint mac mpnt macp pntg pnt paint
|
||||
[icns] Mac icon icns
|
||||
[pict] Macintosh Quickdraw/Pict pic pict pict2 pct
|
||||
[fff] Maggi Hairstyles & Cosmetics fff
|
||||
[pd] Male MRI pd t1 t2
|
||||
[fre] Male Normal CT fre
|
||||
[mrf] Marks Russel File mrf
|
||||
[411] Mavica 411
|
||||
[mtx] Maw-Ware Textures mtx
|
||||
[pdx] Mayura Draw pdx
|
||||
[bld] MegaPaint bld
|
||||
[mfrm] Megalux Frame frm
|
||||
[pbt] Micro Dynamics MARS pbt
|
||||
[mil] Micro Illustrator Uncompressed mil
|
||||
[pp4] Micrografx Picture Publisher 4.0 pp4
|
||||
[pp5] Micrografx Picture Publisher 5.0 pp5
|
||||
[mic] Microsoft Image Composer mic
|
||||
[msp] Microsoft Paint msp
|
||||
[eyes] Microtek Eyestar img
|
||||
[ipg] Mindjongg Format ipg
|
||||
[mrw] Minolta DiMAGE RAW mrw
|
||||
[mkcf] MonkeyCard pdb
|
||||
[mklg] MonkeyLogo pdb
|
||||
[mph] MonkeyPhoto mph
|
||||
[sid] MrSid sid Windows only, Plugin required
|
||||
[msx2] Msx 2 Screen sc2
|
||||
[mng] Multiple Network Graphics mng
|
||||
[mng2] Multiple Network Graphics mng
|
||||
[ncr] NCR Image ncr
|
||||
[nist] NIST ihdr pct
|
||||
[nitf] National Imagery Transmission F. nitf
|
||||
[car] NeoBook Cartoon car
|
||||
[neo] Neochrome (ST & TT) neo
|
||||
[npm] Neopaint Mask npm
|
||||
[stw] Neopaint Stamp stw
|
||||
[nsr] NewsRoom nsr ph bn
|
||||
[nef] Nikon RAW nef mos
|
||||
[ngg] Nokia Group Graphics ngg
|
||||
[nlm] Nokia Logo File nlm
|
||||
[otb] Nokia OTA bitmap otb
|
||||
[nol] Nokia Operator Logo nol
|
||||
[oaz] OAZ Fax oaz xfx
|
||||
[os2] OS/2 Bitmap bmp bga
|
||||
[ofx] Olicom Fax ofx
|
||||
[orf] Olympus RAW orf
|
||||
[oil] Open Image Library Format oil
|
||||
[exr] OpenEXR exr
|
||||
[cft] Optigraphics ctf
|
||||
[ttf] Optigraphics Tiled ttf
|
||||
[abs] Optocat abs
|
||||
[ohir] Oric Hires hir
|
||||
[otap] Oric TAP tap
|
||||
[bga] Os/2 Warp bga
|
||||
[pabx] PABX background pix
|
||||
[pax] PAX pax
|
||||
[pic] PC Paint / Pictor Page pic clp
|
||||
[b16] PCO b16
|
||||
[pm] PM pm
|
||||
[pcl] Page Control Language pcl
|
||||
[pmg] Paint Magic pmg
|
||||
[jbf] PaintShopPro Browser Cache File jbf
|
||||
[pspb] PaintShopPro Brush pspbrush
|
||||
[pspf] PaintShopPro Frame pfr pspframe
|
||||
[psp] PaintShopPro Image psp pspimage
|
||||
[pspm] PaintShopPro Mask pspmask
|
||||
[pmsk] PaintShopPro Mask msk
|
||||
[pspp] PaintShopPro Pattern pat
|
||||
[tub] PaintShopPro Picture Tube tub psptube
|
||||
[pspt] PaintShopPro Texture tex
|
||||
[palm] Palm Pilot pdb
|
||||
[srf] Panasonic DMC-LC1 RAW srf
|
||||
[pegs] Pegs pxs pxa
|
||||
[pef] Pentax *ist D pef
|
||||
[pfs] Pfs Art Publisher art
|
||||
[pdd] Photo Deluxe pdd pdb
|
||||
[fsy] PhotoFantasy Image fsy
|
||||
[frm] PhotoFrame frm
|
||||
[psf] PhotoStudio File psf
|
||||
[stm] PhotoStudio Stamp stm
|
||||
[cat] Photomatrix cat
|
||||
[p2] Pic2 p2 Windows only, Plugin required
|
||||
[p64] Picasso 64 p64
|
||||
[prc] Picture Gear Pocket prc
|
||||
[mix] Picture It! mix
|
||||
[pxr] Pixar picture file pic pxr picio pixar
|
||||
[pixp] Pixel Power Collage ib7 i17 i18 if9
|
||||
[pxa] Pixia pxa
|
||||
[pixi] Pixibox pxb
|
||||
[pds] Planetary Data System pds img
|
||||
[bms] Playback Bitmap Sequence bms
|
||||
[2bp] Pocket PC Bitmap 2bp
|
||||
[tsk] Pocket PC Themes (images) tsk
|
||||
[prf] Polychrome Recursive Format prf
|
||||
[pbm] Portable Bitmap pbm rpbm ppma
|
||||
[pdf] Portable Document Format pdf Ghostscript needed, available on http://www.cs.wisc.edu/~ghost/
|
||||
[pgm] Portable Greyscale pgm rpgm
|
||||
[pnm] Portable Image pnm rpnm pbm rpbm pgm rpgm ppm rppm
|
||||
[png] Portable Network Graphics png
|
||||
[ppm] Portable Pixmap ppm rppm
|
||||
[pgf] Portfolio Graphics pgf
|
||||
[pgc] Portfolio Graphics Compressed pgc
|
||||
[cvp] Portrait cvp
|
||||
[bum] Poser Bump bum
|
||||
[ps] Postscript ps ps1 ps2 ps3 eps prn Ghostscript needed, available on http://www.cs.wisc.edu/~ghost/
|
||||
[crd] PowerCard maker crd
|
||||
[pps] PowerPoint (images) pps
|
||||
[ppt] PowerPoint Presentation (images) ppt
|
||||
[pm] Print Master pm
|
||||
[psa] Print Shop psa psb
|
||||
[prx] Printfox/Pagefox bs pg gb
|
||||
[cpa] Prism cpa
|
||||
[prisms] Prisms pri
|
||||
[psion3] Psion Series 3 Bitmap pic
|
||||
[psion5] Psion Series 5 Bitmap mbm
|
||||
[ppp] Punk Productions Picture ppp
|
||||
[pzl] Puzzle pzl
|
||||
[q0] Q0 q0 rgb
|
||||
[qdv] Qdv (Random Dot Software) qdv
|
||||
[qrt] Qrt Ray-Tracer qrt
|
||||
[wal] Quake Texture wal
|
||||
[vpb] Quantel VPB vpb
|
||||
[qtif] QuickTime Image Format qtif qti
|
||||
[ript] RIPTerm Image icn
|
||||
[rad] Radiance rad img pic
|
||||
[rp] Rainbow Painter rp
|
||||
[raw] Raw raw gry grey
|
||||
[ray] Rayshade pic
|
||||
[rsb] Red Storm File Format rsb
|
||||
[j6i] Ricoh Digital Camera j6i
|
||||
[rfax] Ricoh Fax 001 ric
|
||||
[pig] Ricoh IS30 pig
|
||||
[xyz] Rm2K XYZ xyz
|
||||
[rpm] RunPaint (Multicolor) rpm
|
||||
[st4] SBIG CCD camera ST-4 st4
|
||||
[stx] SBIG CCD camera ST-X stx st4 st5 st6 st7 st8
|
||||
[spot] SPOT dat
|
||||
[svg] SVG svg Windows only, Third Party Plugin required (http://www.cadsofttools.com)
|
||||
[sar] Saracen Paint sar
|
||||
[sci] SciFax sci
|
||||
[sct] SciTex Continuous Tone sct ct ch
|
||||
[sfw] Seattle Film Works sfw
|
||||
[pwp] Seattle Film Works multi-image pwp sfw
|
||||
[xp0] SecretPhotos puzzle xp0
|
||||
[sj1] Sega SJ-1 DIGIO sj1
|
||||
[gpb] Sharp GPB img
|
||||
[bmx] Siemens Mobile bmx
|
||||
[x3f] Sigma RAW x3f
|
||||
[sgi] Silicon Graphics RGB rgb rgba bw iris sgi
|
||||
[skn] Skantek skn
|
||||
[hrz] Slow Scan Television hrz
|
||||
[sdt] SmartDraw 6 template sdt
|
||||
[sfax] SmartFax 001
|
||||
[pan] SmoothMove Pan Viewer pan
|
||||
[soft] Softimage pic si
|
||||
[sir] Solitaire Image Recorder sir
|
||||
[pmp] Sony DSC-F1 Cyber-shot pmp
|
||||
[srf2] Sony DSC-F828 RAW srf
|
||||
[tim2] Sony PS2 TIM tm2
|
||||
[tim] Sony Playstation TIM tim
|
||||
[spu] Spectrum 512 spu
|
||||
[spc] Spectrum 512 (Compressed) spc
|
||||
[sps] Spectrum 512 (Smooshed) sps
|
||||
[ssi] SriSun ssi
|
||||
[stad] Stad pic pac seq
|
||||
[sdg] Star Office Gallery sdg
|
||||
[star] Starbase img
|
||||
[avs] Stardent AVS X x avs mbfs mbfavs
|
||||
[aip] Starlight Xpress SX 500x291 RAW
|
||||
[jps] Stereo Image jps
|
||||
[sff] Structured Fax Format sff Windows only, Plugin required
|
||||
[icon] Sun Icon/Cursor icon cursor ico pr
|
||||
[ras] Sun Rasterfile ras rast sun sr scr rs
|
||||
[taac] Sun TAAC file iff vff suniff taac
|
||||
[syj] Syberia texture syj
|
||||
[synu] Synthetic Universe syn synu
|
||||
[tg4] TG4 tg4
|
||||
[ti] TI Bitmap 92i 73i 82i 83i 85i 86i 89i
|
||||
[tiff] TIFF Revision 6 tif tim tiff
|
||||
[imi] TMSat image imi
|
||||
[hr] TRS 80 hr
|
||||
[teal] TealPaint pdb
|
||||
[mh] Teli Fax mh
|
||||
[tnl] Thumbnail tnl
|
||||
[tjp] TilePic tjp
|
||||
[tiny] Tiny tny tn1 tn2 tn3
|
||||
[d3d] TopDesign Thumbnail b3d b2d
|
||||
[gaf] Total Annihilation gaf
|
||||
[tga] Truevision Targa tga targa pix bpx ivb
|
||||
[upst] Ulead Pattern pst
|
||||
[upi] Ulead PhotoImpact upi
|
||||
[upe4] Ulead Texture (images) pe4
|
||||
[face] Usenix FaceServer fac face
|
||||
[rle] Utah raster image rle urt
|
||||
[v] VIPS Image v
|
||||
[vit] VITec vit
|
||||
[wrl] VRML2 wrl
|
||||
[vfx] Venta Fax vfx
|
||||
[vif] Verity vif
|
||||
[vicar] Vicar vic vicar img
|
||||
[vid] Vidcom 64 vid
|
||||
[vda] Video Display Adapter vda
|
||||
[vista] Vista vst
|
||||
[vivid] Vivid Ray-Tracer img
|
||||
[vort] Vort pix
|
||||
[vob] Vue d'esprit vob
|
||||
[wad] WAD (Half life) wad
|
||||
[iwc] WaveL iwc Windows only, Plugin required
|
||||
[rla] Wavefront Raster file rla rlb rpf
|
||||
[wbc] WebShots (images) wb1 wbc wbp wbz
|
||||
[jig2] Weekly Puzzle jig
|
||||
[ypc] Whypic ypc Windows only, Plugin required
|
||||
[fxs] WinFAX fxs fxo wfx fxr fxd fxm
|
||||
[winm] WinMIPS pic
|
||||
[wmf] Windows & Aldus Metafile wmf Windows only
|
||||
[ani] Windows Animated Cursor ani
|
||||
[bmp] Windows Bitmap bmp rle vga rl4 rl8 sys
|
||||
[clp] Windows Clipboard clp
|
||||
[cur] Windows Cursor cur
|
||||
[dib] Windows DIB dib
|
||||
[emf] Windows Enhanced Metafile emf Windows only
|
||||
[ico] Windows Icon ico
|
||||
[wzl] Winzle Puzzle wzl
|
||||
[wbmp] Wireless Bitmap (level 0) wbmp wbm wap
|
||||
[wpg] Word Perfect Graphics (images) wpg
|
||||
[wfx] Worldport Fax wfx
|
||||
[xwd] X Windows System dump xwd x11
|
||||
[xbm] X11 Bitmap xbm bm
|
||||
[xpm] X11 Pixmap xpm pm
|
||||
[p7] XV Visual Schnauzer p7
|
||||
[xar] Xara (images) xar
|
||||
[xif] Xerox DIFF xif
|
||||
[xim] Ximage xim
|
||||
[smp] Xionics SMP smp
|
||||
[uyvy] YUV 16Bits yuv qtl uyvy
|
||||
[uyvyi] YUV 16Bits Interleaved yuv qtl uyvy
|
||||
[yuv411] YUV 4:1:1 yuv qtl
|
||||
[yuv422] YUV 4:2:2 yuv qtl
|
||||
[yuv444] YUV 4:4:4 yuv qtl
|
||||
[zxhob] ZX Spectrum Hobetta $s $c !s
|
||||
[zxsna] ZX Spectrum Snapshot sna
|
||||
[zxscr] ZX Spectrum standard screen scr
|
||||
[zzrough] ZZ Rough rgh
|
||||
[dta] Zeiss BIVAS dta
|
||||
[zmf] Zoner Callisto Metafile (preview) zmf
|
||||
[zbr] Zoner Zebra Metafile (preview) zbr
|
||||
[dcx] Zsoft Multi-page Paintbrush dcx
|
||||
[pcx] Zsoft Publisher's Paintbrush pcx pcc dcx
|
||||
[bif] byLight bif
|
@@ -0,0 +1,191 @@
|
||||
------------------------------------------
|
||||
NConvert v7.20
|
||||
XnView v2.45
|
||||
|
||||
Copyright (c) 1991-2018 Pierre-E Gougelet
|
||||
All Rights Reserved.
|
||||
|
||||
E-Mail: webmaster@xnview.com
|
||||
WWW: http://www.xnview.com
|
||||
------------------------------------------
|
||||
|
||||
|
||||
All Plugins must be in a directory called "Plugins" in the XnView directory !
|
||||
|
||||
Informations about XnView Plugins (windows only) :
|
||||
==================================================
|
||||
|
||||
* http://www.xnview.com/download/plugins/heif_x32.zip
|
||||
: Allows to read HEIC files
|
||||
|
||||
* Xawd.dll : Allows to read AWD files
|
||||
|
||||
* Xbmf.dll + BMF_read.dll : Allows to read BMF files.
|
||||
|
||||
* Xdjvu.dll : Allows to read to read AT&Ts DjVu format.
|
||||
|
||||
* Xecw.dll + NCScnet.dll + NCSEcw.dll + NCSEcwC.dll + NCSUtil.dll : Allows
|
||||
to read ermapper format.
|
||||
|
||||
* Xeri.dll : Allows to read ERIchan format.
|
||||
|
||||
* Xfif.dll + deco_32.dll : Allows to read Iterated Systems format.
|
||||
|
||||
* Xfpx.dll : Allows to read/write FlashPix files.
|
||||
|
||||
* Xjbig.dll : Allows to read/write "Joint Bi-level Image experts Group" format.
|
||||
|
||||
* Xsff.dll : Allows to read Structured Fax files.
|
||||
|
||||
* Xwic.dll : Allows to read/write J Wavelet Image Codec format.
|
||||
|
||||
* lwf.dll : Allows to read/write Lurawave format.
|
||||
Can only save images up to 4096x4096 pixels.
|
||||
|
||||
* ldf.dll : Allows to read LuraDocument format.
|
||||
Can only save images up to 4096x4096 pixels and maximum of 6 pages.
|
||||
|
||||
* lwf_jp2.dll : Allows to read/write JPEG-2000 JP2/JPC File Format
|
||||
Can only save images up to 4096x4096 pixels.
|
||||
|
||||
* Xiwc.dll : Allows to read/write WaveL format.
|
||||
|
||||
* Xjp2.dll : Allows to read/write JPEG-2000 JP2 File Format
|
||||
& JPEG-2000 Code Stream.
|
||||
|
||||
* XMrSid.dll : Allows to read MrSid format.
|
||||
|
||||
* Xwlm.dll : Allows to read/write CompW format.
|
||||
|
||||
* Xjng.dll + libmng.dll : Allows to read JNG/MNG format.
|
||||
|
||||
* Xjpegls.dll : Allows to read JPEG lossless format.
|
||||
|
||||
* Xsusie.dll : Allows to use Susie's plugins.
|
||||
|
||||
* Xpwc.dll : Allows to read PWC (Fast Piecewise-constant) format.
|
||||
|
||||
* Xwhypic.dll : Allows to read YPC format.
|
||||
|
||||
* Xp2.dll : Allows to read Pic2 format.
|
||||
|
||||
* ncc.dll : Allows to show nCC (net.CynerCards) information from JPG, GIF
|
||||
& PNG files. http://www.netcybercards.com
|
||||
|
||||
* mpeg.ll : Allows to extract frame from MPEG1 files
|
||||
|
||||
* pcdlib32.dll : Allows to read high resolution of PCD files
|
||||
|
||||
* dc120.dll : Allows to read kdc format.
|
||||
|
||||
* cpa.dll : Allows to read CPA Prism format.
|
||||
|
||||
* Xbsb.dll : Allows to read BSB/KAP format.
|
||||
|
||||
* ldf_jpm.dll : Allows to read/write LDF.jpm format.
|
||||
|
||||
* CS_DXF.dll + CS_DWG.dll + CS_HPGL.dll + CS_CGM.dll + CS_SVG.dll : Allows to read DXF/DWG/HPGL/CGM/SVG format (shareware)
|
||||
Use third party component from www.cadsofttools.com
|
||||
|
||||
* Xcompound.dll : Allows to read 3DSMax & Picture IT! thumbnail, and Microsoft Image Composer.
|
||||
|
||||
* Xpax.dll : Allows to read PAX format
|
||||
|
||||
* rwz_sdk.dll : Allows to rawzor compressed files
|
||||
|
||||
* Xwsq.dll : Allows to read WSQ files (Wavelet Scaler Quantization)
|
||||
|
||||
* VTFLib.dll : Allows to read VTF format
|
||||
|
||||
* webp.dll : Allows to read/write WebP format
|
||||
|
||||
* paintnetlib.dll : Allows to read Paint.net format, Thanks to Johann ELSASS
|
||||
|
||||
* Xora.dll : Allows to read OpenRaster files
|
||||
|
||||
* bpg.exe : Allows to read BPG format - http://bellard.org/bpg/
|
||||
|
||||
* libflif.dll : Allows to read FLIF format - http://flif.info/
|
||||
|
||||
* clip.dll : Allows to read Clip Studio
|
||||
|
||||
|
||||
About LuraWave, LuraDocument, LuraWave.jp2 & LuraDocument.jpm format:
|
||||
--------------------------------------------------------------------
|
||||
All images compressed with XnView LuraWave PlugIn should only be used for private
|
||||
or evaluation purposes. Any other corporate or commercial use needs to licenced by LuraTech GmbH.
|
||||
|
||||
By compressing an image using the XnView LuraWave PlugIn, you accept this license agreement.
|
||||
|
||||
LuraTech Homepage : http://www.luratech.com
|
||||
|
||||
|
||||
JBIG reading/writing:
|
||||
--------------------
|
||||
You need to purchase a license because JBIG is a patented format.
|
||||
More information is available on http://www.ibm.com and http://www.jpeg.org/
|
||||
|
||||
|
||||
Copyright:
|
||||
---------
|
||||
|
||||
ECW Compression - http://www.ermapper.com/
|
||||
(c) Earth Resource Mapping Ltd
|
||||
|
||||
DjVu - http://www.djvu.att.com/open
|
||||
(c) AT&T Corp
|
||||
- http://www.lizardtech.com/
|
||||
Copyright (c) 1999, LizardTech, Inc
|
||||
|
||||
J Wavelet Image Codec based on work of Sasha Chukov
|
||||
|
||||
BMF Dmitry Shkarin (C) 1999
|
||||
|
||||
CompW - http://www.paralelo.com.br
|
||||
Copyright (C) 1998, Paralelo Computa<74><61>o Ltda.
|
||||
|
||||
JasPer - http://www.ece.ubc.ca/~mdadams/jasper/
|
||||
Copyright (c) 1999-2000, Image Power, Inc. and the University of British
|
||||
Columbia, Canada.
|
||||
|
||||
Copyright (c) 2001 Michael David Adams.
|
||||
|
||||
|
||||
IWC - http://www.wavelsoftware.com
|
||||
Copyright 2001 WaveL Software
|
||||
|
||||
LIBMNG - http://www.libmng.com
|
||||
Copyright (c) 2000,2001 Gerard Juyn
|
||||
|
||||
net.CyberCards - http://www.netcybercards.com
|
||||
(c) Isomeris
|
||||
|
||||
PWC -
|
||||
Copyright Paul Ausbeck
|
||||
|
||||
Whypic -
|
||||
Copyright (c) Osamu YAMAJI
|
||||
|
||||
MrSid - http://www.lizardtech.com/
|
||||
Copyright (c) 1999, LizardTech, Inc
|
||||
|
||||
DjVu - http://www.lizardtech.com/
|
||||
Copyright (c) 1999, LizardTech, Inc
|
||||
|
||||
PCDlib32.dll -
|
||||
DC120.dll
|
||||
(c) Eastman Kodak Company
|
||||
|
||||
cpa.dll -
|
||||
(c) Prism
|
||||
|
||||
CS_DXF.dll + CS_DWG.dll + CS_HPGL.dll + CS_CGM.dll + CS_SVG.dll - http://www.cadsofttools.com
|
||||
(c) Soft Gold
|
||||
|
||||
PAX -
|
||||
(C) 1999 Smaller Animals Software
|
||||
|
||||
Rawzor - http://www.rawzor.com/
|
||||
(c) Sachin Garg
|
||||
|
||||
|
@@ -0,0 +1,145 @@
|
||||
Nconvert v7.20
|
||||
XnView v2.45
|
||||
|
||||
Copyright (c) 1991-2018 Pierre-E Gougelet
|
||||
All Rights Reserved.
|
||||
|
||||
|
||||
|
||||
Disclaimer
|
||||
==========
|
||||
|
||||
Installing and using these software (Nview, Nconvert, View2, XnView) signifies acceptance of these terms and conditions of the license.
|
||||
|
||||
|
||||
XnView/NConvert are provided as Freeware for private non-commercial or educational use, including non-profit organization (i.e. schools, universities, public authorities, police, fire brigade, and hospitals).
|
||||
|
||||
For commercial use and distribution, it is necessary to register. It is a help for the development of future versions.
|
||||
|
||||
You are granted the right to use and to make an unlimited number of copies of this software.
|
||||
|
||||
|
||||
These software are provided "as-is".
|
||||
No warranty of any kind is expressed or implied.
|
||||
The author will not be liable for data loss, damages, loss of profits or any other kind of loss while using or misusing this software.
|
||||
|
||||
Any suggestions, feedback and comments are welcome.
|
||||
|
||||
|
||||
|
||||
Homepage
|
||||
========
|
||||
|
||||
E-Mail: webmaster@xnview.com
|
||||
contact@xnview.com
|
||||
|
||||
Web site : http://www.xnview.com
|
||||
http://www.xnview.net
|
||||
http://www.xnview.org
|
||||
|
||||
NewsGroup : http://newsgroup.xnview.com
|
||||
|
||||
|
||||
Platforms
|
||||
=========
|
||||
|
||||
ATARI ST, STe, Falcon, TT and compatible
|
||||
PC x86 DOS
|
||||
PC x86 Windows 3.1x, 95, 98, NT, Me, 2000, Xp, Vista, 7, 8.1, 10
|
||||
PC x86 Linux v2.x (X Window & Lesstif/openMotif)
|
||||
PC x86 FreeBSD v3.x (X Window & Lesstif/openMotif)
|
||||
Silicon Graphics IRIX v5.2 and above
|
||||
Sun Solaris v2.5.1 and above
|
||||
Solaris x86 v8.0
|
||||
HP-UX v11.0 and above
|
||||
AIX v4.2 and above
|
||||
BeOS v5.0 and above
|
||||
MacOS X
|
||||
|
||||
|
||||
GIF/TIFF LZW reading/writing:
|
||||
-------------------
|
||||
You need to purchase a license because LZW is a patented algorithm.
|
||||
More information is available on http://www.unisys.com
|
||||
|
||||
JBIG reading/writing:
|
||||
-------------------
|
||||
You need to purchase a license because JBIG is a patented format.
|
||||
More information is available on http://www.ibm.com and http://www.jpeg.org/
|
||||
|
||||
Copyright:
|
||||
---------
|
||||
|
||||
Default toolbar mezich - http://mezich.livejournal.com
|
||||
Icons are only for xnview
|
||||
|
||||
LibJPEG 6b - http://www.ijg.org
|
||||
This software is copyright (C) 1991-1998, Thomas G. Lane. All Rights Reserved
|
||||
|
||||
PNGLib 1.2.5 - http://www.libpng.org/pub/png/
|
||||
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. (libpng versions 0.5, May 1995, through 0.89c, May 1996)
|
||||
Copyright (c) 1996, 1997 Andreas Dilger (libpng versions 0.90, December 1996, through 0.96, May 1997)
|
||||
Copyright (c) 1998, 1999 Glenn Randers-Pehrson (libpng versions 0.97,January 1998, through 1.0.5, October 15, 1999)
|
||||
|
||||
Zlib 1.2.1 - http://www.gzip.org/zlib/
|
||||
Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
|
||||
|
||||
JIF - http://jeff.cafe.net/jif/
|
||||
(c) Jeff Tupper
|
||||
|
||||
RAW - http://www.cybercom.net/~dcoffin/dcraw/
|
||||
(c) Dave Coffin
|
||||
|
||||
Credits:
|
||||
--------
|
||||
|
||||
Solaris version : Tobias Oetiker
|
||||
HP-UX version : Philippe Choquert
|
||||
AIX version : Philippe Choquert
|
||||
|
||||
Translation:
|
||||
------------
|
||||
Afrikaans : Samuel Murray
|
||||
Arabic : Mohammad Deeb
|
||||
Basque : Axier Lopez
|
||||
Bulgarian : Denis Ivajlov
|
||||
Byelorussian : Alexander Gorbylev
|
||||
Catalan : Jes<65>s Corrius
|
||||
Chinese simplified : Alexander Yang, Roy Yao
|
||||
Chinese traditional : Frank Liu, Alexander Yang
|
||||
Croatian : Josip Sinkovic
|
||||
Czech : Petr Bohdan
|
||||
Danish : Allan Bergmann Jensen
|
||||
Dutch : Michiel Oosterhagen, Theo Eering
|
||||
Estonian : Ahti Kaskpeit
|
||||
Finish : Haukur Krist<73>fer Bragason, Jouni Paulus
|
||||
Galician : Fernando Coello
|
||||
German : Axel C. Burgbacher, Helmut Mueller
|
||||
Greek : Symeon Charalabides
|
||||
Hebrew : Eitan Gilboa
|
||||
Hungarian : Jozsef Herczeg
|
||||
Icelandic : Svanur P<>lsson
|
||||
Italian : Armando R. La Mura, Alexandro F.Proietti
|
||||
Japanese : Sato Kazuyuki, Adrian Ivana, Yong Wei, Motomatsu Nobuhiro
|
||||
Korean : Kim Wooyoung
|
||||
Latvian : Aldis Putelis, Aldis Priednieks
|
||||
Lithuanian : Linas Grinius
|
||||
Malaysian : Ooi Ghee Tiong
|
||||
Norwegian : Lasse Drageset, Lillian Solum
|
||||
Polish : Skiff, Lukasz Jakubowski, Sergiusz Klimkiewicz, Tomasz Fiszer
|
||||
Portuguese : Ant<6E>nio Eduardo Marques
|
||||
Portuguese (Brazilian) : Paulo Neto
|
||||
Romanian : Ioan Russu
|
||||
Russian : Alexander Gorbylev, Igor Alikin
|
||||
Serbian : Nik Vukovljak
|
||||
Slovak : Peter Cipov, Lucas Sivak
|
||||
Slovene : Filip Komar, Grega Fajdiga
|
||||
Spanish : Jorge A. Montes P<>rez
|
||||
Swedish : Olof T<>rnqvist, M<>rten Mellberg
|
||||
Tha<68> : Thanachai Wachiraworakam
|
||||
Turkish : Ibrahim Kutluay
|
||||
Ukrainian : Taras Domansky
|
||||
Uzbek : Sherzod Mamatkulov
|
||||
Vietnamese : Ton, Quang Toai & Vo, Khanh Kim Van
|
||||
Welsh : Geraint Jones
|
||||
|
@@ -0,0 +1,188 @@
|
||||
NConvert v7.20
|
||||
XnView v2.45
|
||||
|
||||
Copyright (c) 1991-2018 Pierre-E Gougelet
|
||||
All Rights Reserved.
|
||||
|
||||
|
||||
|
||||
NVIEW
|
||||
=====
|
||||
|
||||
Nview is a multi-format image viewer.
|
||||
|
||||
Type nview -help for available options.
|
||||
|
||||
|
||||
About Nview for PC under DOS:
|
||||
-----------------------------
|
||||
|
||||
Nview is VESA compatible and works in 8,15,16 bits and truecolor mode.
|
||||
The only mode available is 320x200x8 if your video card doesn't
|
||||
support Vesa mode.
|
||||
|
||||
For a complete description of the available modes on the display, type
|
||||
nview -help (and use it with -d option's)
|
||||
|
||||
For example with my Diamond S3 864, "nview -d3 back.gif" use the 640x480x15 display.
|
||||
|
||||
With the -p<width>x<height>x<bits>, you take the best display that matches the arguments.
|
||||
(Example: nview -p640x480x24 back.gif)
|
||||
-p0x0x0 choose the best display for the bitmap.
|
||||
|
||||
|
||||
About Nview for X Window:
|
||||
--------------------------------------
|
||||
|
||||
Nview displays bitmaps on the default visual. You can use
|
||||
-visual id (id is the visual number seeing with nview -help).
|
||||
|
||||
By default, Nview display the bitmap and wait for a mouse click or the Escape key.
|
||||
With the -w option, Nview create one window per bitmap.
|
||||
|
||||
Nview works with pipe, in this case the input format must be specified:
|
||||
cat img.tga | nview -f2 stdin
|
||||
|
||||
|
||||
NCONVERT
|
||||
========
|
||||
|
||||
Nconvert is the multi-format commandline image converter for Win32, DOS, OS/2, and other platforms.
|
||||
|
||||
Type "nconvert -help" for available options.
|
||||
|
||||
Type "nconvert -help > nchelp.txt" to save the help text into the file "nchelp.txt".
|
||||
|
||||
To convert files to a specific format, type for example :
|
||||
nconvert -out 5 file1.pic file2.jpg file3.tga
|
||||
or
|
||||
nconvert -out tiff file1.pic file2.jpg file3.tga
|
||||
|
||||
With a resize :
|
||||
nconvert -out jpeg -ratio -resize 480 0 *.jpg
|
||||
nconvert -out jpeg -resize 640 480 *.jpg
|
||||
|
||||
The input format is not necessary, it will be autodetected. If a problem occurs, use the -in option.
|
||||
|
||||
Nconvert is able to transform images while converting:
|
||||
|
||||
* To convert GIF files to JPEG files :
|
||||
nconvert -out jpeg -truecolors *.gif
|
||||
|
||||
* To convert JPEG files to GIF files :
|
||||
nconvert -out gif -dither -colors 256 *.jpeg
|
||||
|
||||
* To resize :
|
||||
nconvert -out png -resize 510 230 *.jpeg
|
||||
nconvert -out png -ratio -resize 510 0 *.jpeg
|
||||
nconvert -out png -ratio -resize 0 510 *.jpeg
|
||||
nconvert -out png -resize 200% 200% *.jpeg
|
||||
|
||||
You can use it with images sequences.
|
||||
For example, to convert the files file00.pic, file01.pic, ..., file10.pic and
|
||||
we convert to jpeg format with the name pattern res0.jpg, res1.jpg, ... type :
|
||||
nconvert -out jpeg -n 1 10 1 -o res#.jpg file##.pic
|
||||
|
||||
You can use % to specify source filename in dest filename.
|
||||
For example, nconvert -out jpeg -o result_%.jpg file.tga
|
||||
creates a file named result_file.jpg
|
||||
|
||||
Note for windows users: in batch files you must write %% instead of %. To bypass this problem, you can use a nconvert script instead of a batch file.
|
||||
|
||||
You can control nconvert with a script, performing multiple sets of conversions on multiple sets of files, example:
|
||||
|
||||
### -out png -rtype lanczos -resize 200% 150%
|
||||
|
||||
screenshot1.bmp
|
||||
screenshot2.bmp
|
||||
screenshot3.bmp
|
||||
|
||||
### -out gif -rtype lanczos -resize 500% 500% -oil 10 -colours 32
|
||||
|
||||
F:\icons\smile.bmp
|
||||
|
||||
### -out bmp -rtype lanczos -resize 30% 30% -oil 2 -rotate_flag smooth -rotate 45
|
||||
|
||||
selfportrait.png
|
||||
mydog.png
|
||||
|
||||
Save this into a text file, for example "nc.txt", and then run nconvert with this file as the only parameter: "nconvert nc.txt" .
|
||||
|
||||
Limitations:
|
||||
|
||||
Add text feature uses the Win32 API and is avaiable on Win32 only.
|
||||
|
||||
Some exotical image formats use external DLL's and are available on Win32 only.
|
||||
|
||||
When using a script file, avoid multiple spaces in the conversion definitions, they confuse the parser.
|
||||
|
||||
Converting huge images, or scaling up to a huge size requires much memory and may not always work.
|
||||
|
||||
Notes for DOS users:
|
||||
|
||||
Since v4.90, nconvert is supported for DOS again. Is is a 32-bit DOS application, using the "DOS/32A Extender".
|
||||
|
||||
Also the NVIEW picture viewer had a DOS version, but was discontinued in 2002 at version 3.87. It is available bundled with old nconvert 3.87.
|
||||
|
||||
|
||||
XnView (Extended Nview)
|
||||
=======================
|
||||
|
||||
About XnView for X Window:
|
||||
---------------------------
|
||||
|
||||
XnView requires OSF/Motif 1.2 or later.
|
||||
|
||||
Type xnview -help for available options.
|
||||
|
||||
XnView displays bitmaps on the default visual. You can specify
|
||||
an X visual id (in hexadecimal) with '-visualid id'.
|
||||
|
||||
|
||||
Linux/FreeBSD/OpenBSD Version:
|
||||
-----------------------------
|
||||
|
||||
XnView requires Linux 2.0.x, XFree86-3.2 and Lesstif v0.91 or openMotif v2.1.30
|
||||
|
||||
openMotif is available from the following URL's :
|
||||
|
||||
ftp://openmotif.opengroup.org/pub/openmotif/R2.1.30/binaries/metrolink/
|
||||
|
||||
Lesstif is available from the following URL's
|
||||
|
||||
http://www.lesstif.org/products/lesstif/
|
||||
ftp://ftp.lesstif.org/pub/hungry/lesstif/bindist
|
||||
|
||||
|
||||
About XnView for Windows (x86):
|
||||
-------------------------------
|
||||
|
||||
XnView for windows requires Windows 3.x with Win32s, or Windows 95/98/Me/NT/2000.
|
||||
|
||||
|
||||
Windows 3.1x users note:
|
||||
-----------------------
|
||||
You'll need the latest release of win32s for Microsoft Windows 3.1x
|
||||
and Windows for Workgroup 3.1x.
|
||||
|
||||
If there is a file called 'win32s.ini' in the directory \windows\system,
|
||||
you already have win32s. This file contains the version information.
|
||||
If the version number is equal or greater than 1.30.172 (v1.30c),
|
||||
you don't have to reinstall win32s.
|
||||
|
||||
Win32s v1.30c can be downloaded via
|
||||
ftp://ftp.rmc.edu/pub/windows16/win32s13.exe
|
||||
|
||||
|
||||
About Unix version:
|
||||
------------------
|
||||
|
||||
You will need to set the
|
||||
* LD_LIBRARY_PATH (Irix, Linux, FreeBSD)
|
||||
* SHLIB_PATH (HP-UX)
|
||||
* LIBPATH (AIX)
|
||||
* LIBRARY_PATH (BeOS)
|
||||
environment variable with the path where the libraries are.
|
||||
|
||||
By default 'install' puts the libraries in /usr/local/lib.
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,827 @@
|
||||
** NCONVERT v7.20 (c) 1991-2017 Pierre-E Gougelet (May 31 2018/13:57:24) **
|
||||
Version for Windows NT/9x/2000/Xp/Vista/7 (All rights reserved)
|
||||
** Site license for Kabam Games Inc
|
||||
|
||||
The JPEG code is based in part on the work of the Independent JPEG Group's software.
|
||||
The PNG code is based in part on the work of the Group 42, Inc.
|
||||
This software is based in part on compression library of Jean-loup Gailly and Mark Adler
|
||||
|
||||
Usage : nconvert [options] file ...
|
||||
|
||||
Options :
|
||||
-quiet : Quiet mode
|
||||
-info : Display informations only
|
||||
-fullinfo : Display informations & metadata only
|
||||
-v[.] : Verbose
|
||||
-in format : Input format number or -1
|
||||
-page num : Page/image number
|
||||
-xall : Extract all images
|
||||
-multi : Create a multi-page (TIFF/DCX/LDF/PDF only)
|
||||
-npcd num : PCD 0:192x128, 1:384x256, 2:768x512 (default)
|
||||
-ngrb npic : HP-48 number of grey : 1, 2 or 4 (default : 1)
|
||||
-no# : # not used for numeric operator
|
||||
-org_depth : Load with original depth
|
||||
-older n : Convert only if older than n days
|
||||
-clipboard : Import from clipboard
|
||||
-overwrite : Overwrite existing file
|
||||
-ignore_errors : Ignore errors
|
||||
-no_auto_ext : Don't add extension to output filename
|
||||
-ctype type : Channel Type (Raw)
|
||||
grey : Greyscale (default)
|
||||
rgb : Red,Green,Blue
|
||||
bgr : Blue,Green,Red
|
||||
rgba : Red,Green,Blue,Alpha
|
||||
abgr : Alpha,Blue,Green,Red
|
||||
cmy : Cyan,Magenta,Yellow
|
||||
cmyk : Cyan,Magenta,Yellow,Black
|
||||
-corder order : Channel Order (Raw)
|
||||
inter : Interleaved (default)
|
||||
seq : Sequential
|
||||
sep : Separate
|
||||
-size geometry : Width and height (Raw/YUV)
|
||||
Geometry is widthxheight+offset
|
||||
-l file : Use file as filelist
|
||||
-n start end step : Begin End Step (for image sequence)
|
||||
-t start step : Begin Step (for # in output filename)
|
||||
-o filename : Output filename
|
||||
Use # to specify position of numeric enumerator
|
||||
Use % to specify source filename
|
||||
Use $ to specify full source pathname
|
||||
Use $$ to specify source folder name
|
||||
Use $EXIF:DateModified[date format] to specify EXIF date modified
|
||||
Use $EXIF:DateTaken[date format] to specify EXIF date taken
|
||||
Date format: Please check documentation of strftime
|
||||
-out format : Output format name
|
||||
-D : Delete original picture
|
||||
-c value : Compression number
|
||||
default : 0 (uncompressed)
|
||||
PDF : 1 (Fax), 2 (Rle), 3 (LZW), 4(ZIP), 5 (JPEG)
|
||||
TIFF : 1 (Rle), 2 (LZW), 3 (LZW+Prediction)
|
||||
4 (ZLIB)
|
||||
5 (CCITT G3), 6 (CCITT G3-2D), 7 (CCITT G4) only B/W
|
||||
8 (JPEG) only 24/32 bits
|
||||
TARGA, Softimage, SGI, PCX, IFF, BMP : 1 (Rle)
|
||||
-c_bw value : Compression number for black&white picture (default : 0)
|
||||
-c_grey value : Compression number for greyscale picture (default : 0)
|
||||
-c_rgb value : Compression number for color picture (default : 0)
|
||||
-q value : JPEG/FPX/WIC/PDF quality (default : 85)
|
||||
-clevel value : PNG Compression level (default : 6)
|
||||
-i : Interlaced GIF / Progressive JPEG
|
||||
-icc : Use ICC Profile
|
||||
-keep_icc : Keep ICC Profile from original file
|
||||
-icc_in filename : Input color profile
|
||||
-icc_out filename : Output color profile
|
||||
-icc_intent value : Intent value
|
||||
-icc_bcp : Black point compensation
|
||||
-icc_ie : Ignore embedded ICC profile
|
||||
-add_alpha value : Add alpha channel (24bits)
|
||||
-merge_alpha : Merge alpha by using 'transparent color' (32bits)
|
||||
-set_alpha : Add alpha by using 'transparent color' (32bits)
|
||||
-transparent value: Transparency index (GIF/PNG)
|
||||
-transpcolor red green blue: Transparency color (GIF/PNG)
|
||||
-opthuff : Optimize Huffman Table (JPEG)
|
||||
-dct value : DCT method
|
||||
0 : Slow
|
||||
1 : Fast
|
||||
2 : Float
|
||||
-smoothingf value : Smoothing factor (0-10)
|
||||
-subsampling value : Subsampling factor
|
||||
0 : 2x2,1x1,1x1
|
||||
1 : 2x1,1x1,1x1
|
||||
2 : 1x1,1x1,1x1
|
||||
-comp_ratio value: Compress ratio (JPEG2K)
|
||||
-max_filesize value: Maximum filesize (JPEG2K)
|
||||
-bgcolor red green blue: Background color (for rotate/canvas)
|
||||
-dpi res_dpi : Set the resolution in DPI
|
||||
-keepdocsize : Resize bitmap function of the old and new DPI value
|
||||
-keepfiledate : Keep original file data/time
|
||||
-keepcspace : Keep original color space if possible
|
||||
-cmyk_space : Convert if possible in CMYK space
|
||||
-jpegtrans op : JPEG lossless transformations
|
||||
rot90 : Rotate 90 degrees
|
||||
rot180 : Rotate 180 degrees
|
||||
rot270 : Rotate 270 degrees
|
||||
exif : Use orientation EXIF tag
|
||||
vflip : Flip vertical
|
||||
hflip : Flip horizontal
|
||||
-jpegcrop x y w h : JPEG lossless crop
|
||||
-clean value : JPEG Clean Metadata (EXIF/IPTC/...)
|
||||
1 : Comment
|
||||
2 : EXIF
|
||||
4 : XMP
|
||||
8 : EXIF thumbnail
|
||||
16 : IPTC
|
||||
32 : ICC Profile
|
||||
64 : Other markers
|
||||
-rmeta : Remove Metadata (EXIF/IPTC/...)
|
||||
-rexifthumb : Remove EXIF thumbnail
|
||||
-buildexifthumb : Try to rebuild EXIF thumbnail
|
||||
-exif_orient value : Set EXIF orientation value
|
||||
1 = Horizontal
|
||||
2 = Mirror horizontal
|
||||
3 = Rotate 180
|
||||
4 = Mirror vertical
|
||||
5 = Mirror horizontal and rotate 270 CW
|
||||
6 = Rotate 90 CW
|
||||
7 = Mirror horizontal and rotate 90 CW
|
||||
8 = Rotate 270 CW
|
||||
-iptc_print tag : Print IPTC tag value
|
||||
-iptc_clear tag : Erase IPTC tag
|
||||
-iptc_set tag value : Set value to IPTC tag
|
||||
-iptc_add tag value : Add value to IPTC tag
|
||||
-thumb width height : Extract thumbnail
|
||||
-use_cie : Use CIE Colors (PS/EPS/PDF ghostscript)
|
||||
-wflag flag : Write flag
|
||||
os2 : Write OS/2 bmp
|
||||
gif87 : Write GIF87a
|
||||
hp49 : Write HP49
|
||||
-half_res : Load half resolution (Camera RAW)
|
||||
-embedded_jpeg : Load embedded jpeg (Camera RAW)
|
||||
-ascii : Ascii (PPM)
|
||||
-one_strip : One strip (TIFF)
|
||||
-jxr_color value : JpegXR color format (yuv444, yuv422, yuv420)
|
||||
-jxr_filter value : JpegXR block filtering
|
||||
0: off, 1: HP, 2:all
|
||||
-gam value : Gamma (EXR, HDRI), default=1.0
|
||||
-raw_autobalance : Auto balance (Camera RAW)
|
||||
-raw_camerabalance : Camera balance (Camera RAW)
|
||||
-raw_autobright : Auto brightness (Camera RAW)
|
||||
-raw_gamma value : Gamma (Camera RAW), default=0.6
|
||||
-raw_brightness value : Brighness (Camera RAW), default=0.8
|
||||
-raw_redscale value : Red scaling (Camera RAW)
|
||||
-raw_bluescale value : Blue scaling (Camera RAW)
|
||||
-ilut file : Input LUT file (DPX/Cineon)
|
||||
-olut file : Output LUT file (DPX/Cineon)
|
||||
-wmfile file : Watermark file (Must be after other -wm commands)
|
||||
-wmpos x y : Watermark position
|
||||
-wmflag flag : Watermark position
|
||||
top-left, top-center, top-right
|
||||
center-left, center, center-right
|
||||
bottom-left, bottom-center, bottom-right
|
||||
-wmopacity value : Watermark opacity (0-100)
|
||||
-wmstretch : Stretch image
|
||||
|
||||
Process :
|
||||
-32bits : Convert in 32bits
|
||||
-average size : Average (3,5,7,9,11,13)
|
||||
-autocrop tol r g b : Auto Crop
|
||||
-autocontrast : Auto Contrast
|
||||
-autodeskew r g b : Auto Deskew
|
||||
-autolevels : Auto Levels
|
||||
-balance r g b : Color balance
|
||||
-binary dither : Convert in Binary
|
||||
pattern : Ordered pattern
|
||||
floyd : Floyd steinberg
|
||||
halft45 : Halftone 45
|
||||
halft90 : Halftone 90
|
||||
nodither : No dithering
|
||||
-blur percent : Blur (1...100)
|
||||
-brightness value : Modify brightness (-100...100)
|
||||
-canvas w h pos : Resize canvas
|
||||
w h can be percent (ex: -canvas 100% 200%)
|
||||
or #x #y for offset
|
||||
pos top-left, top-center, top-right
|
||||
center-left, center, center-right
|
||||
bottom-left, bottom-center, bottom-right
|
||||
-conbright value : Modify brightness (-100...100)
|
||||
-colours num
|
||||
-colors num : Convert in Indexed Colors (256, 216, 128, 64, 32, 16 or 8)
|
||||
-contrast value : Modify contrast (-100...100)
|
||||
-crop x y w h : Crop
|
||||
-dither : Use Bayer dithering for conversion (Colors and Grey only)
|
||||
-deinter k n : De-interlace
|
||||
k : even or odd
|
||||
n : dup or int
|
||||
-edetail : Enhance detail
|
||||
-eedge percent : Enhance edges (1...100)
|
||||
-edgedetect type : Edge detect
|
||||
light/medium/heavy
|
||||
-efocus : Enhance focus
|
||||
-emboss : Emboss
|
||||
-embossmore : Emboss more
|
||||
-equalize : Equalize
|
||||
-floyd : Use floydSteinberg dithering for conversion (Colors and Grey only)
|
||||
-frestore : Focus restoration
|
||||
-gamma value : Modify gamma (0.01<->5.0
|
||||
-gammasat value : Modify gamma (0.01<->5.0
|
||||
-gauss size : Blur gaussian (3,5,7,9,11,13)
|
||||
-grey num : Convert in Grey Scale (256, 128, 64, 32, 16, 8 or 4)
|
||||
-hls h l s : Adjust Hue Lightness Saturation
|
||||
-lens percent : Lens (1...100)
|
||||
-levels b w : Levels
|
||||
-log : Apply logarithmic correction
|
||||
-maximum size : Maximum filter (3,5,7,9,11,13)
|
||||
-medianb size : Median Box filter (3,5,7,9,11,13)
|
||||
-medianc size : Median Cross filter (3,5,7,9,11,13)
|
||||
-minimum size : Minimum filter (3,5,7,9,11,13)
|
||||
-mosaic size : Mosaic (1...64)
|
||||
-negate : Negate
|
||||
-new bpp w h : Create new bitmap
|
||||
-noise reduce : Reduce noise
|
||||
-noise type value
|
||||
uniform : Add uniform noise
|
||||
gaussian : Add gaussian noise
|
||||
laplacian : Add laplacian noise
|
||||
poisson : Add poisson noise
|
||||
-normalize : Normalize
|
||||
-oil size : Oilify (1...16)
|
||||
-posterize count : Posterize (2...256)
|
||||
-ratio : Keep the aspect ratio for scaling
|
||||
-replace r g b r g b : Replace color
|
||||
-rtype : Type of resampling
|
||||
quick : Quick resize
|
||||
linear : Bi-linear (linear)
|
||||
hermite : Hermite
|
||||
gaussian : Gaussian
|
||||
bell : Bell
|
||||
bspline : Bspline
|
||||
mitchell : Mitchell
|
||||
lanczos : Lanczos
|
||||
-rflag : Flag for resizing
|
||||
incr : Increase only
|
||||
decr : Decrease only
|
||||
orient : Follow orientation
|
||||
-resize w h : Scale width-height
|
||||
w h can be percent (ex: -resize 100% 200%)
|
||||
-resize fill w h : Scale by filling the box wxh
|
||||
-resize longest size : Scale longest side
|
||||
-resize shortest size : Scale shortest side
|
||||
-rotate_flag : Rotate flags
|
||||
smooth : Use smooth rotate
|
||||
-rotate degrees : Rotate
|
||||
-saturation red green blue cyan magenta yellow : Saturation (-100...100)
|
||||
-sepia percent : Sepia
|
||||
-sharpen percent : Sharpen (1...100)
|
||||
-shear : Shear
|
||||
-slice : Slice
|
||||
-soften percent : Soften (1...100)
|
||||
-solarize value : Solarize (1...255)
|
||||
-spread amount : Spread (1...32)
|
||||
-swap type : Swap component
|
||||
rbg : RGB->RBG
|
||||
bgr : RGB->BGR
|
||||
brg : RGB->BRG
|
||||
grb : RGB->GRB
|
||||
gbr : RGB->GBR
|
||||
-swirl degrees : Swirl (1...360)
|
||||
-text string : Add a text
|
||||
-text_font name size : Font name and size
|
||||
-text_color r g b : Text color
|
||||
-text_back r g b : Text background color
|
||||
-text_flag pos : Position of text
|
||||
top-left, top-center, top-right
|
||||
center-left, center, center-right
|
||||
bottom-left, bottom-center, bottom-right
|
||||
-text_pos x y : Position or offset
|
||||
-text_rotation degrees : Rotation
|
||||
-text_border size red green blue : Add a border
|
||||
-tile size : Tile (1...64)
|
||||
-truecolors
|
||||
-truecolours : Convert in True Colors
|
||||
-xflip : Flip horizontal
|
||||
-yflip : Flip vertical
|
||||
-waves wavelength phase amount : Waves
|
||||
wavelength : (1.0 50.0)
|
||||
phase : (0.0 360.0)
|
||||
amount : (0.0 100.0)
|
||||
|
||||
Available format:
|
||||
Name Write Description
|
||||
-1 : Automatic (Only for input)
|
||||
[* ] : JFIF based file
|
||||
[2bp ] : Pocket PC Bitmap
|
||||
[2d ] : Amapi
|
||||
[3fr ] : Hasselblad RAW
|
||||
[411 ] : Mavica
|
||||
[a64 ] : Artist 64
|
||||
[abmp ] : Alpha Microsystems BMP
|
||||
[abr ] : PS Brush
|
||||
[abs ] : Optocat
|
||||
[acc ] : Access
|
||||
[ace ] : ACE texture
|
||||
[aces ] : Aces200
|
||||
[acorn ] : Acorn Sprite
|
||||
[adex ] : ADEX
|
||||
[adt ] : AdTech perfectfax
|
||||
[afdesign<67>] : Affinity designer
|
||||
[afphoto ] : Affinity photo
|
||||
[afx ] : Auto F/X
|
||||
[ai ] : Adobe Illustrator
|
||||
[aim ] : AIM Grey Scale
|
||||
[aip ] : Starlight Xpress SX 500x291 RAW
|
||||
[aipd ] : AIPD image
|
||||
[alias ] * : Alias Image File
|
||||
[ami ] : Amica Paint
|
||||
[ani ] : Windows Animated Cursor
|
||||
[anv ] : AirNav
|
||||
[aphp ] : Adobe PhotoParade (images)
|
||||
[apx ] : Ability Photopaint Image
|
||||
[arcib ] * : ArcInfo Binary
|
||||
[arf ] : ARF
|
||||
[arn ] : Astronomical Research Network
|
||||
[art ] : Artisan
|
||||
[artdir ] : Art Director
|
||||
[arw ] : Sony RAW
|
||||
[atk ] : Andrew Toolkit raster object
|
||||
[att ] : AT&T Group 4
|
||||
[aurora ] : Aurora
|
||||
[avs ] : Stardent AVS X
|
||||
[avw ] : Analyze
|
||||
[az7 ] : Analyze-7
|
||||
[b16 ] : PCO
|
||||
[b3d ] : B3D (images)
|
||||
[bdr ] : Brender
|
||||
[bfli ] : BFLI
|
||||
[bfx ] : Bfx Bitware
|
||||
[bga ] : Os/2 Warp
|
||||
[bias ] : BIAS FringeProcessor
|
||||
[bif ] : byLight
|
||||
[biorad ] * : Bio-Rad confocal
|
||||
[bip ] : Character Studio (thumbnail)
|
||||
[bld ] : MegaPaint
|
||||
[blend ] : Blender thumbnail
|
||||
[blp ] : BLP textures
|
||||
[bmc ] : Embroidery
|
||||
[bmg ] : Bert's Coloring
|
||||
[bmp ] * : Windows Bitmap
|
||||
[bms ] : Playback Bitmap Sequence
|
||||
[bmx ] : Siemens Mobile
|
||||
[bob ] : Bob Raytracer
|
||||
[bpr ] : AAA logo
|
||||
[brk ] : Brooktrout 301
|
||||
[bsg ] : Fontasy Grafik
|
||||
[btn ] : JustButtons animated bitmap
|
||||
[bum ] : Poser Bump
|
||||
[byusir ] : BYU SIR
|
||||
[c4 ] : Edmics
|
||||
[cadc ] : Autocad CAD-Camera
|
||||
[cals ] : CALS Raster
|
||||
[cam ] : Casio QV-10/100 Camera
|
||||
[can ] : Canon Navigator Fax
|
||||
[car ] : NeoBook Cartoon
|
||||
[cart ] : Crayola
|
||||
[cat ] : Photomatrix
|
||||
[cbmf ] : Corel Flow (preview)
|
||||
[cdr ] : Corel Draw Bitmap (preview)
|
||||
[cdu ] : CDU Paint
|
||||
[ce ] : Computer Eyes, Digital Vision
|
||||
[ce1 ] : ComputerEyes Raw
|
||||
[cel ] : Kiss Cel
|
||||
[cft ] : Optigraphics
|
||||
[cgm ] : CGM
|
||||
[che ] : Cheese
|
||||
[cin ] * : Kodak Cineon
|
||||
[cip ] : Cisco IP Phone
|
||||
[ciph ] : InterPaint (Hires)
|
||||
[cipt ] : InterPaint (Multicolor)
|
||||
[cish ] : Image System (Hires)
|
||||
[cism ] : Image System (Multicolor)
|
||||
[cloe ] : Cloe Ray-Tracer
|
||||
[clp ] : Windows Clipboard
|
||||
[cmt ] : Chinon ES-1000 digital camera
|
||||
[cmu ] : CMU Window Manager
|
||||
[cmx ] : Corel Metafile Exchange (preview)
|
||||
[cncd ] : CoverDesigner (images)
|
||||
[cnct ] : CoverDesigner Template (images)
|
||||
[cp8 ] : CP8 256 Gray Scale
|
||||
[cpa ] : Prism
|
||||
[cpat ] : Corel Draw Pattern (preview)
|
||||
[cpc ] : Amstrad Cpc Screen
|
||||
[cpt ] : Corel PhotoPaint 6.0
|
||||
[cr2 ] : Canon EOS-1D Mark II RAW
|
||||
[craw ] : Camera RAW
|
||||
[crd ] : PowerCard maker
|
||||
[crg ] : Calamus
|
||||
[crw ] : Canon PowerShot
|
||||
[csv ] * : CSV
|
||||
[ct ] : Iris CT
|
||||
[cur ] : Windows Cursor
|
||||
[cut ] : Dr Halo
|
||||
[cvp ] : Portrait
|
||||
[cwg ] : CreateWithGarfield
|
||||
[d3d ] : TopDesign Thumbnail
|
||||
[dali ] : Dali Raw
|
||||
[dbw ] : DBW Render
|
||||
[dcmp ] : Discorp CMP Image
|
||||
[dcpy ] : Datacopy
|
||||
[dcr ] : Kodak Pro Digital RAW
|
||||
[dcx ] * : Zsoft Multi-page Paintbrush
|
||||
[dd ] : Doodle C64
|
||||
[dds ] * : Direct Draw Surface
|
||||
[degas ] * : Degas & Degas Elite
|
||||
[dib ] : Windows DIB
|
||||
[dicom ] : Dicom
|
||||
[dkb ] * : DKB Ray-Tracer
|
||||
[dng ] : DNG
|
||||
[dol ] : DolphinEd
|
||||
[doodle ] : Doodle Atari
|
||||
[dpx ] * : DPX
|
||||
[drz ] : Draz Paint
|
||||
[dsi ] : CImage
|
||||
[dta ] : Zeiss BIVAS
|
||||
[dwg ] : DWG preview
|
||||
[dwg ] : AutoCAD DWG
|
||||
[ecc ] : Ecchi
|
||||
[efx ] : Everex Everfax
|
||||
[eidi ] : Electric Image
|
||||
[eif ] : Eroiica
|
||||
[emf ] * : Windows Enhanced Metafile
|
||||
[emz ] : Windows Comp. Enhanced Metafile
|
||||
[epa ] : Award Bios Logo
|
||||
[epi ] : EPS Interchange Format
|
||||
[eps ] : Encapsulated Postscript
|
||||
[epsp ] : Encapsulated Postscript(Preview)
|
||||
[erf ] : Epson RAW
|
||||
[esm ] : Enhance Simplex
|
||||
[esmp ] : ESM Software Pix
|
||||
[eyes ] : Microtek Eyestar
|
||||
[f96 ] : Fremont Fax96
|
||||
[face ] : Usenix FaceServer
|
||||
[fax ] : Fax Group 3
|
||||
[fbm ] : Fuzzy bitmap
|
||||
[fcx ] : Faxable PCX
|
||||
[fff ] : Maggi Hairstyles & Cosmetics
|
||||
[fff ] : Imacon/Hasselblad RAW
|
||||
[ffpg ] : Fenix Multi Map
|
||||
[fgs ] : Fun Graphics Machine Hires
|
||||
[fi ] : Flash Image
|
||||
[fit ] : FIT
|
||||
[fits ] * : Flexible Image Transport System
|
||||
[fli ] : Autodesk Animator
|
||||
[fmag ] : FileMagic
|
||||
[fmap ] : Fenix Map
|
||||
[fmf ] : Fax man
|
||||
[fp2 ] : Fun Painter II
|
||||
[fpg ] : DIV Game Studio Multi Map
|
||||
[fpr ] : Fun Photor
|
||||
[fpt ] : Face Painter
|
||||
[fre ] : Male Normal CT
|
||||
[frm ] : PhotoFrame
|
||||
[frm2 ] : Album b<>b<EFBFBD>
|
||||
[fsh ] : EA Sports FSH
|
||||
[fsy ] : PhotoFantasy Image
|
||||
[ftf ] : Faxable TIFF
|
||||
[fx3 ] : Fugawi Map
|
||||
[fxs ] : WinFAX
|
||||
[g16 ] : GRS16
|
||||
[g3n ] : Imaging Fax
|
||||
[gaf ] : Total Annihilation
|
||||
[gbr ] * : Gimp Brush
|
||||
[gcd ] : Gigacad (Hires)
|
||||
[gem ] : Digital Research (GEM Paint)
|
||||
[geo ] : GeoPaint
|
||||
[gfaray ] : Gfa Raytrace
|
||||
[gg ] : Koala Paint (Compressed)
|
||||
[gicon ] : Gimp Icon
|
||||
[gif ] * : CompuServe GIF
|
||||
[gig ] : GigaPaint Multi
|
||||
[gih ] : GigaPaint Hi-res
|
||||
[gm ] : Autologic
|
||||
[gmf ] : Gamma Fax
|
||||
[god ] : GoDot
|
||||
[gpat ] * : Gimp Pattern
|
||||
[gpb ] : Sharp GPB
|
||||
[grob ] * : HP-48/49 GROB
|
||||
[gun ] : GunPaint
|
||||
[hdri ] : HDRI
|
||||
[hdru ] : Apollo HDRU
|
||||
[hed ] : Hi-Eddi
|
||||
[hf ] : HF
|
||||
[hir ] : Hires C64
|
||||
[hpgl ] : HPGL-2
|
||||
[hpi ] : Hemera Photo Image
|
||||
[hr ] : TRS 80
|
||||
[hru ] * : HRU
|
||||
[hrz ] : Slow Scan Television
|
||||
[hsi ] : HSI Raw
|
||||
[hta ] : Hemera Thumbs
|
||||
[iam ] : Inventor Assembly thumbnail
|
||||
[icb ] : Image Capture Board
|
||||
[icd ] : Core IDC
|
||||
[icl ] : Icon Library
|
||||
[icn ] : AT&T multigen
|
||||
[icns ] : Mac icon
|
||||
[ico ] * : Windows Icon
|
||||
[icon ] : Sun Icon/Cursor
|
||||
[iff ] * : Amiga IFF
|
||||
[ifx ] : IcoFX
|
||||
[iim ] : Inshape
|
||||
[iimg ] : Interleaf
|
||||
[ilab ] : ImageLab
|
||||
[im5 ] : IM5 (Visilog)
|
||||
[img ] : Img Software Set
|
||||
[imgt ] : Imaging Technology
|
||||
[imi ] : TMSat image
|
||||
[imt ] : IMNET Image
|
||||
[indd ] : InDesign thumbnail
|
||||
[info ] : Amiga icon
|
||||
[ingr ] : Intergraph Format
|
||||
[ioca ] : IOCA
|
||||
[ipg ] : Mindjongg Format
|
||||
[ipl ] : IPLab
|
||||
[ipl2 ] : IPLab
|
||||
[ipn ] : Inventor Presentation thumbnail
|
||||
[ipseq ] : ImagePro Sequence
|
||||
[ipt ] : Inventor Fusion thumbnail
|
||||
[iris ] : Iris Graphics
|
||||
[ish ] : Image Speeder
|
||||
[iss ] : ISS
|
||||
[j6i ] : Ricoh Digital Camera
|
||||
[jbf ] : PaintShopPro Browser Cache File
|
||||
[jbr ] : PaintShopPro Brush
|
||||
[jif ] * : Jeff's Image Format
|
||||
[jig ] : Jigsaw
|
||||
[jig2 ] : Weekly Puzzle
|
||||
[jj ] : Doodle C64 (Compressed)
|
||||
[jls ] : Jpeg-LS
|
||||
[jpeg ] * : JPEG / JFIF
|
||||
[jps ] : Stereo Image
|
||||
[jtf ] : Hayes JTFax
|
||||
[jxr ] * : JPEG XR
|
||||
[k25 ] : Kodak DC25 Camera
|
||||
[k25b ] : Kodak DC25 Camera
|
||||
[kdc ] : Kodak DC120 Digital Camera
|
||||
[kdc2 ] : Kodak DC120 Digital Camera
|
||||
[kfx ] : Kofax Group 4
|
||||
[kntr ] : KONTRON
|
||||
[koa ] : Koala Paint
|
||||
[kps ] : IBM Kips
|
||||
[kqp ] : Konica Camera File
|
||||
[kro ] * : Kolor Raw Format
|
||||
[kskn ] : KinuPix Skin
|
||||
[lbm ] : Deluxe Paint, Electronic Arts
|
||||
[lcel ] : Lumena CEL
|
||||
[lda ] : LaserData
|
||||
[lff ] : LucasFilm Format
|
||||
[lif ] : Homeworld Texture
|
||||
[lsm ] : Zeiss LSM
|
||||
[lss ] : LSS16
|
||||
[lvp ] : LView Pro
|
||||
[lwi ] : Light Work Image
|
||||
[m8 ] : Heretic II MipMap
|
||||
[mac ] : Mac Paint
|
||||
[mag ] : MAKIchan Graphics
|
||||
[map ] : DIV Game Studio Map
|
||||
[mbig ] : Cartes Michelin
|
||||
[mdl ] : Half-Life Model
|
||||
[mef ] : Mamiya RAW
|
||||
[mfrm ] : Megalux Frame
|
||||
[mgr ] : MGR bitmap
|
||||
[mh ] : Teli Fax
|
||||
[miff ] * : Image Magick file
|
||||
[mil ] : Micro Illustrator Uncompressed
|
||||
[mjpg ] : JPEG 8BIM header (Mac)
|
||||
[mkcf ] : MonkeyCard
|
||||
[mklg ] : MonkeyLogo
|
||||
[mng ] : Multiple Network Graphics
|
||||
[mon ] : Mono Magic
|
||||
[mos ] : Leaf RAW
|
||||
[mph ] : MonkeyPhoto
|
||||
[mpo ] : Multiple Picture
|
||||
[mrc ] : MRC (Medical Research Council)
|
||||
[mrf ] : Marks Russel File
|
||||
[mrw ] : Minolta DiMAGE RAW
|
||||
[msp ] : Microsoft Paint
|
||||
[msx2 ] : Msx 2 Screen
|
||||
[mtv ] * : MTV Ray-Tracer
|
||||
[mtx ] : Maw-Ware Textures
|
||||
[ncr ] : NCR Image
|
||||
[ncy ] : FlashCam Frame
|
||||
[ncy ] : FlashCam frame
|
||||
[nef ] : Nikon RAW
|
||||
[neo ] : Neochrome (ST & TT)
|
||||
[ngg ] * : Nokia Group Graphics
|
||||
[nifti ] : Nifti
|
||||
[nist ] : NIST ihdr
|
||||
[nitf ] : National Imagery Transmission F.
|
||||
[nlm ] * : Nokia Logo File
|
||||
[nol ] * : Nokia Operator Logo
|
||||
[npm ] : Neopaint Mask
|
||||
[nrw ] : Nikon RAW
|
||||
[nsr ] : NewsRoom
|
||||
[oaz ] : OAZ Fax
|
||||
[ocp ] : Advanced Art Studio
|
||||
[of ] : HP-49 OpenFire
|
||||
[ofx ] : Olicom Fax
|
||||
[ohir ] : Oric Hires
|
||||
[oil ] : Open Image Library Format
|
||||
[ols ] : Olympus Scan
|
||||
[orf ] : Olympus RAW
|
||||
[os2 ] : OS/2 Bitmap
|
||||
[otap ] : Oric TAP
|
||||
[otb ] * : Nokia OTA bitmap
|
||||
[p64 ] : Picasso 64
|
||||
[p7 ] : XV Visual Schnauzer
|
||||
[pabx ] * : PABX background
|
||||
[palm ] * : Palm Pilot
|
||||
[pam ] : Portable Arbitrary Map
|
||||
[pan ] : SmoothMove Pan Viewer
|
||||
[patps ] : Photoshop Pattern
|
||||
[pbm ] * : Portable Bitmap
|
||||
[pbt ] : Micro Dynamics MARS
|
||||
[pcd ] : Kodak Photo CD
|
||||
[pcl ] * : Page Control Language
|
||||
[pcp ] : Atari grafik
|
||||
[pcx ] * : Zsoft Publisher's Paintbrush
|
||||
[pd ] : Male MRI
|
||||
[pdd ] : Photo Deluxe
|
||||
[pdf ] * : Portable Document Format
|
||||
[pds ] : Planetary Data System
|
||||
[pdx ] : Mayura Draw
|
||||
[pef ] : Pentax *ist D
|
||||
[pegs ] : Pegs
|
||||
[pfi ] : Photo Filtre Studio
|
||||
[pfm ] : PFM graphic
|
||||
[pfs ] : Pfs Art Publisher
|
||||
[pgc ] : Portfolio Graphics Compressed
|
||||
[pgf ] : Portfolio Graphics
|
||||
[pgm ] * : Portable Greyscale
|
||||
[pi ] : Blazing Paddles
|
||||
[pic ] : PC Paint / Pictor Page
|
||||
[pict ] : Macintosh Quickdraw/Pict
|
||||
[pig ] : Ricoh IS30
|
||||
[pixi ] : Pixibox
|
||||
[pixp ] : Pixel Power Collage
|
||||
[pld ] : PhotoLine (preview)
|
||||
[pm ] : Print Master
|
||||
[pm ] : PM
|
||||
[pmg ] : Paint Magic
|
||||
[pmp ] : Sony DSC-F1 Cyber-shot
|
||||
[pmsk ] : PaintShopPro Mask
|
||||
[png ] * : Portable Network Graphics
|
||||
[pnm ] * : Portable Image
|
||||
[pp4 ] : Micrografx Picture Publisher 4.0
|
||||
[pp5 ] : Micrografx Picture Publisher 5.0
|
||||
[ppm ] * : Portable Pixmap
|
||||
[ppp ] : Punk Productions Picture
|
||||
[pps ] : PowerPoint (images)
|
||||
[ppt ] : PowerPoint Presentation (images)
|
||||
[prc ] * : Picture Gear Pocket
|
||||
[prf ] : Polychrome Recursive Format
|
||||
[prisms ] : Prisms
|
||||
[prx ] : Printfox/Pagefox
|
||||
[ps ] * : Postscript
|
||||
[psa ] : Print Shop
|
||||
[psb ] : Adobe Photoshop (large)
|
||||
[psd ] * : Adobe Photoshop
|
||||
[pseg ] : IBM Printer Page Segment
|
||||
[psf ] : PhotoStudio File
|
||||
[psion3 ] * : Psion Series 3 Bitmap
|
||||
[psion5 ] * : Psion Series 5 Bitmap
|
||||
[psp ] : PaintShopPro Image
|
||||
[pspb ] : PaintShopPro Brush
|
||||
[pspf ] : PaintShopPro Frame
|
||||
[pspm ] : PaintShopPro Mask
|
||||
[pspp ] : PaintShopPro Pattern
|
||||
[pspt ] : PaintShopPro Texture
|
||||
[ptg ] : Artrage
|
||||
[pwp ] : Seattle Film Works multi-image
|
||||
[pxa ] : Pixia
|
||||
[pxr ] : Pixar picture file
|
||||
[pzl ] : Puzzle
|
||||
[pzp ] : MGI Photosuite Project (images)
|
||||
[q0 ] : Q0
|
||||
[qcad ] : Autodesk QuickCAD thumbnail
|
||||
[qdv ] : Qdv (Random Dot Software)
|
||||
[qrt ] * : Qrt Ray-Tracer
|
||||
[qtif ] : QuickTime Image Format
|
||||
[rad ] * : Radiance
|
||||
[raf ] : Fuji S2 RAW
|
||||
[ras ] : Sun Rasterfile
|
||||
[raw ] * : Raw
|
||||
[raw1 ] : Sinar RAW
|
||||
[raw2 ] : AVT RAW
|
||||
[raw3 ] : Casio RAW
|
||||
[raw4 ] : Contax RAW
|
||||
[raw5 ] : Creative PC-CAM RAW
|
||||
[raw6 ] : Foculus RAW
|
||||
[raw7 ] : Leica RAW
|
||||
[raw8 ] : Micron RAW
|
||||
[raw9 ] : Panasonic RAW
|
||||
[rawa ] : RoverShot RAW
|
||||
[rawb ] : ST Micro RAW
|
||||
[rawdvr ] : RAW DVR
|
||||
[rawe ] * : Raw
|
||||
[ray ] * : Rayshade
|
||||
[rdc ] : Rollei RAW
|
||||
[rfa ] : Mobile FAX
|
||||
[rfax ] : Ricoh Fax
|
||||
[ript ] : RIPTerm Image
|
||||
[rix ] : ColoRIX
|
||||
[rla ] * : Wavefront Raster file
|
||||
[rlc2 ] : Image Systems RLC2 Graphic
|
||||
[rle ] : Utah raster image
|
||||
[rp ] : Rainbow Painter
|
||||
[rpm ] : RunPaint (Multicolor)
|
||||
[rsb ] : Red Storm File Format
|
||||
[rsrc ] : Mac OSX Resource
|
||||
[rw2 ] : Panasonic LX3 RAW
|
||||
[rwl ] : Leica RAW
|
||||
[sar ] : Saracen Paint
|
||||
[sci ] : SciFax
|
||||
[sct ] * : SciTex Continuous Tone
|
||||
[sdg ] : Star Office Gallery
|
||||
[sdt ] : SmartDraw 6 template
|
||||
[sfax ] : SmartFax
|
||||
[sfw ] : Seattle Film Works
|
||||
[sgi ] * : Silicon Graphics RGB
|
||||
[sif ] : SIF MICHEL-Soft
|
||||
[sir ] : Solitaire Image Recorder
|
||||
[sj1 ] : Sega SJ-1 DIGIO
|
||||
[skf ] : Autodesk SKETCH thumbnail
|
||||
[skn ] : Skantek
|
||||
[skp ] : Autodesk SketchUp component
|
||||
[smp ] : Xionics SMP
|
||||
[soft ] * : Softimage
|
||||
[spc ] : Spectrum 512 (Compressed)
|
||||
[spot ] : SPOT
|
||||
[sps ] : Spectrum 512 (Smooshed)
|
||||
[spu ] : Spectrum 512
|
||||
[srf ] : Panasonic DMC-LC1 RAW
|
||||
[srf2 ] : Sony DSC-F828 RAW
|
||||
[srw ] : Samsung RAW
|
||||
[ssi ] : SriSun
|
||||
[ssp ] : Axialis Screensaver (images)
|
||||
[sst ] : AVHRR Image
|
||||
[st4 ] : SBIG CCD camera ST-4
|
||||
[stad ] : Stad
|
||||
[star ] : Starbase
|
||||
[stm ] : PhotoStudio Stamp
|
||||
[stw ] : Neopaint Stamp
|
||||
[stx ] : SBIG CCD camera ST-X
|
||||
[svg ] : SVG
|
||||
[syj ] : Syberia texture
|
||||
[synu ] : Synthetic Universe
|
||||
[taac ] : Sun TAAC file
|
||||
[tdi ] * : Explore (TDI) & Maya
|
||||
[tdim ] : Digital F/X
|
||||
[teal ] : TealPaint
|
||||
[tg4 ] : TG4
|
||||
[tga ] * : Truevision Targa
|
||||
[thmb ] : IPod thumb
|
||||
[ti ] * : TI Bitmap
|
||||
[tiff ] * : TIFF Revision 6
|
||||
[til ] : Buttonz & Tilez texture
|
||||
[tile ] : Eclipse
|
||||
[tim ] : Sony Playstation TIM
|
||||
[tim2 ] : Sony PS2 TIM
|
||||
[tiny ] : Tiny
|
||||
[tjp ] : TilePic
|
||||
[tnl ] : Thumbnail
|
||||
[trup ] : Egg Paint
|
||||
[tsk ] : Pocket PC Themes (images)
|
||||
[ttf ] : Optigraphics Tiled
|
||||
[tub ] : PaintShopPro Picture Tube
|
||||
[txc ] : PS2 TXC
|
||||
[uni ] : Brother Fax
|
||||
[upe4 ] : Ulead Texture (images)
|
||||
[upi ] : Ulead PhotoImpact
|
||||
[upst ] : Ulead Pattern
|
||||
[uyvy ] * : YUV 16Bits
|
||||
[uyvyi ] * : YUV 16Bits Interleaved
|
||||
[v ] : VIPS Image
|
||||
[vda ] : Video Display Adapter
|
||||
[vfx ] : Venta Fax
|
||||
[vi ] : Jovian VI
|
||||
[vicar ] : Vicar
|
||||
[vid ] : Vidcom 64
|
||||
[vif ] : Verity
|
||||
[viff ] : Khoros Visualization Image file
|
||||
[vista ] * : Vista
|
||||
[vit ] : VITec
|
||||
[vivid ] * : Vivid Ray-Tracer
|
||||
[vob ] : Vue d'esprit
|
||||
[vort ] : Vort
|
||||
[vpb ] : Quantel VPB
|
||||
[wad ] : WAD (Half life)
|
||||
[wal ] : Quake Texture
|
||||
[wbc ] : WebShots (images)
|
||||
[wbmp ] * : Wireless Bitmap (level 0)
|
||||
[webp ] * : WebP
|
||||
[wfx ] : Worldport Fax
|
||||
[winm ] : WinMIPS
|
||||
[wmf ] : Windows & Aldus Metafile
|
||||
[wmz ] : Windows Compressed Metafile
|
||||
[wpg ] : Word Perfect Graphics (images)
|
||||
[wrl ] * : VRML2
|
||||
[wzl ] : Winzle Puzzle
|
||||
[x3f ] : Sigma RAW
|
||||
[xar ] : Xara (images)
|
||||
[xbm ] * : X11 Bitmap
|
||||
[xcf ] : Gimp Bitmap
|
||||
[xif ] : Xerox DIFF
|
||||
[xim ] : Ximage
|
||||
[xnf ] : XnView Frame
|
||||
[xp0 ] : SecretPhotos puzzle
|
||||
[xpm ] * : X11 Pixmap
|
||||
[xwd ] : X Windows System dump
|
||||
[xyz ] : Rm2K XYZ
|
||||
[yuv411 ] : YUV 4:1:1
|
||||
[yuv422 ] : YUV 4:2:2
|
||||
[yuv444 ] : YUV 4:4:4
|
||||
[zbr ] : Zoner Zebra Metafile (preview)
|
||||
[zmf ] : Zoner Callisto Metafile (preview)
|
||||
[zxhob ] : ZX Spectrum Hobetta
|
||||
[zxscr ] : ZX Spectrum standard screen
|
||||
[zxsna ] : ZX Spectrum Snapshot
|
||||
[zzrough ] : ZZ Rough
|
@@ -0,0 +1,22 @@
|
||||
Please read the following terms and conditions before using this software. Use of this software indicates you accept the terms of this license agreement and warranty.
|
||||
|
||||
1. Disclaimer of warranty
|
||||
|
||||
XnView (or NConvert, XnView Shell Extension) is provided "as-is" and without warranty of any kind, express, implied or otherwise, including without limitation, any warranty of merchantability or fitness for a particular purpose.
|
||||
|
||||
In no event shall the author of this software be held liable for data loss, damages, loss of profits or any other kind of loss while using or misusing this software.
|
||||
|
||||
The software must not be modified, you may not decompile, disassemble.
|
||||
|
||||
2. License
|
||||
|
||||
XnView (or NConvert) is provided as freeware for private (non commercial), or educational use, including non-profit organization (i.e. schools, universities, public authorities, police, fire brigade, and hospitals).
|
||||
|
||||
In this case, you are granted the right to use and to make an unlimited number of copies of this software.
|
||||
|
||||
Company must purchase licenses to be able to use XnView (or NConvert).
|
||||
|
||||
XnView Shell Extension is provided as freeware
|
||||
|
||||
|
||||
Copyright (C) 1997-2018 Pierre-e Gougelet. All rights reserved.
|
Binary file not shown.
@@ -19,10 +19,8 @@ using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using ImageMagick;
|
||||
using QuickLook.Common.Helpers;
|
||||
using QuickLook.Common.Plugin;
|
||||
using QuickLook.Plugin.ImageViewer.Exiv2;
|
||||
|
||||
namespace QuickLook.Plugin.ImageViewer
|
||||
{
|
||||
@@ -40,15 +38,13 @@ namespace QuickLook.Plugin.ImageViewer
|
||||
// animated
|
||||
".png", ".apng", ".gif"
|
||||
};
|
||||
private Size _imageSize;
|
||||
private ImagePanel _ip;
|
||||
private Meta _meta;
|
||||
private NConvert _meta;
|
||||
|
||||
public int Priority => int.MaxValue;
|
||||
|
||||
public void Init()
|
||||
{
|
||||
new MagickImage().Dispose();
|
||||
}
|
||||
|
||||
public bool CanHandle(string path)
|
||||
@@ -58,10 +54,12 @@ namespace QuickLook.Plugin.ImageViewer
|
||||
|
||||
public void Prepare(string path, ContextObject context)
|
||||
{
|
||||
_imageSize = ImageFileHelper.GetImageSize(path, _meta = new Meta(path));
|
||||
_meta = new NConvert(path);
|
||||
|
||||
if (!_imageSize.IsEmpty)
|
||||
context.SetPreferredSizeFit(_imageSize, 0.8);
|
||||
var size = _meta.GetSize();
|
||||
|
||||
if (!size.IsEmpty)
|
||||
context.SetPreferredSizeFit(size, 0.8);
|
||||
else
|
||||
context.PreferredSize = new Size(800, 600);
|
||||
|
||||
@@ -71,11 +69,12 @@ namespace QuickLook.Plugin.ImageViewer
|
||||
public void View(string path, ContextObject context)
|
||||
{
|
||||
_ip = new ImagePanel(context, _meta);
|
||||
var size = _meta.GetSize();
|
||||
|
||||
context.ViewerContent = _ip;
|
||||
context.Title = _imageSize.IsEmpty
|
||||
context.Title = size.IsEmpty
|
||||
? $"{Path.GetFileName(path)}"
|
||||
: $"{Path.GetFileName(path)} ({_imageSize.Width}×{_imageSize.Height})";
|
||||
: $"{Path.GetFileName(path)} ({size.Width}×{size.Height})";
|
||||
|
||||
LoadImage(_ip, path);
|
||||
|
||||
|
@@ -62,9 +62,6 @@
|
||||
<Reference Include="LibAPNG">
|
||||
<HintPath>.\LibAPNG.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Magick.NET-Q8-AnyCPU, Version=7.4.6.0, Culture=neutral, PublicKeyToken=2004825badfa91ec, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Magick.NET-Q8-AnyCPU.7.4.6\lib\net40\Magick.NET-Q8-AnyCPU.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System" />
|
||||
@@ -82,11 +79,10 @@
|
||||
<Compile Include="AnimatedImage\GifAnimationProvider.cs" />
|
||||
<Compile Include="AnimatedImage\AnimationProvider.cs" />
|
||||
<Compile Include="AnimatedImage\ImageMagickProvider.cs" />
|
||||
<Compile Include="exiv2\Meta.cs" />
|
||||
<Compile Include="ImageFileHelper.cs" />
|
||||
<Compile Include="ImagePanel.xaml.cs">
|
||||
<DependentUpon>ImagePanel.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="NConvert.cs" />
|
||||
<Compile Include="Plugin.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
@@ -108,21 +104,33 @@
|
||||
<Resource Include="Resources\background.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="exiv2\exiv2.dll">
|
||||
<Content Include="NConvert\docs\Formats.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="exiv2\exiv2.exe">
|
||||
<Content Include="NConvert\docs\help.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="exiv2\expat.dll">
|
||||
<Content Include="NConvert\docs\license.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="exiv2\zlib.dll">
|
||||
<Content Include="NConvert\docs\Plugins.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="NConvert\docs\ReadMe.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="NConvert\docs\Usage.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="NConvert\docs\WhatsNew.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="NConvert\nconvert.exe">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="NConvert\Plugins\libwebp.dll">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
@@ -1,187 +0,0 @@
|
||||
// Copyright © 2018 Paddy Xu
|
||||
//
|
||||
// This file is part of QuickLook program.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using ImageMagick;
|
||||
using QuickLook.Common.ExtensionMethods;
|
||||
|
||||
namespace QuickLook.Plugin.ImageViewer.Exiv2
|
||||
{
|
||||
public class Meta
|
||||
{
|
||||
private static readonly string ExivPath =
|
||||
Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "exiv2\\exiv2.exe");
|
||||
private readonly string _path;
|
||||
|
||||
private OrientationType _orientation = OrientationType.Undefined;
|
||||
private Dictionary<string, string> _summary;
|
||||
|
||||
public Meta(string path)
|
||||
{
|
||||
_path = path;
|
||||
}
|
||||
|
||||
public Dictionary<string, string> GetSummary()
|
||||
{
|
||||
if (_summary != null)
|
||||
return _summary;
|
||||
|
||||
return _summary = Run($"\"{_path}\"", ": ");
|
||||
}
|
||||
|
||||
public BitmapSource GetThumbnail(bool autoZoom = false)
|
||||
{
|
||||
GetOrientation();
|
||||
|
||||
var count = Run($"-pp \"{_path}\"", ",").Count;
|
||||
|
||||
if (count == 0)
|
||||
return null;
|
||||
|
||||
var suc = Run($"-f -ep{count} -l \"{Path.GetTempPath().TrimEnd('\\')}\" \"{_path}\"", ",");
|
||||
if (suc.Count != 0)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
using (var image = new MagickImage(Path.Combine(Path.GetTempPath(),
|
||||
$"{Path.GetFileNameWithoutExtension(_path)}-preview{count}.jpg")))
|
||||
{
|
||||
File.Delete(image.FileName);
|
||||
|
||||
if (_orientation == OrientationType.RightTop)
|
||||
image.Rotate(90);
|
||||
else if (_orientation == OrientationType.BottomRight)
|
||||
image.Rotate(180);
|
||||
else if (_orientation == OrientationType.LeftBotom)
|
||||
image.Rotate(270);
|
||||
if (!autoZoom)
|
||||
return image.ToBitmapSource();
|
||||
|
||||
var size = GetSize();
|
||||
var bitmap = new TransformedBitmap(image.ToBitmapSource(),
|
||||
new ScaleTransform(size.Width / image.Width, size.Height / image.Height));
|
||||
bitmap.Freeze();
|
||||
return bitmap;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Size GetSize()
|
||||
{
|
||||
if (_summary == null)
|
||||
GetSummary();
|
||||
|
||||
if (!_summary.ContainsKey("Image size"))
|
||||
return Size.Empty;
|
||||
|
||||
var width = int.Parse(_summary["Image size"].Split('x')[0].Trim());
|
||||
var height = int.Parse(_summary["Image size"].Split('x')[1].Trim());
|
||||
|
||||
switch (GetOrientation())
|
||||
{
|
||||
case OrientationType.RightTop:
|
||||
case OrientationType.LeftBotom:
|
||||
return new Size(height, width);
|
||||
default:
|
||||
return new Size(width, height);
|
||||
}
|
||||
}
|
||||
|
||||
public OrientationType GetOrientation()
|
||||
{
|
||||
if (_orientation != OrientationType.Undefined)
|
||||
return _orientation;
|
||||
|
||||
try
|
||||
{
|
||||
var ori = Run($"-g Exif.Image.Orientation -Pkv \"{_path}\"", "\\s{1,}");
|
||||
|
||||
if (ori?.ContainsKey("Exif.Image.Orientation") == true)
|
||||
_orientation = (OrientationType) int.Parse(ori["Exif.Image.Orientation"]);
|
||||
else
|
||||
_orientation = OrientationType.TopLeft;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
_orientation = OrientationType.TopLeft;
|
||||
}
|
||||
|
||||
return _orientation;
|
||||
}
|
||||
|
||||
private Dictionary<string, string> Run(string arg, string regexSplit)
|
||||
{
|
||||
try
|
||||
{
|
||||
string result;
|
||||
using (var p = new Process())
|
||||
{
|
||||
p.StartInfo.UseShellExecute = false;
|
||||
p.StartInfo.CreateNoWindow = true;
|
||||
p.StartInfo.RedirectStandardOutput = true;
|
||||
p.StartInfo.FileName = ExivPath;
|
||||
p.StartInfo.Arguments = arg;
|
||||
p.StartInfo.StandardOutputEncoding = Encoding.UTF8;
|
||||
p.Start();
|
||||
|
||||
result = p.StandardOutput.ReadToEnd();
|
||||
p.WaitForExit(1000);
|
||||
}
|
||||
|
||||
return string.IsNullOrWhiteSpace(result)
|
||||
? new Dictionary<string, string>()
|
||||
: ParseResult(result, regexSplit);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return new Dictionary<string, string>();
|
||||
}
|
||||
}
|
||||
|
||||
private Dictionary<string, string> ParseResult(string result, string regexSplit)
|
||||
{
|
||||
var res = new Dictionary<string, string>();
|
||||
|
||||
result.Replace("\r\n", "\n").Split('\n').ForEach(l =>
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(l))
|
||||
return;
|
||||
var eles = Regex.Split(l, regexSplit + "");
|
||||
if (eles.Length < 2)
|
||||
return;
|
||||
res.Add(eles[0].Trim(), eles.Skip(1).Aggregate((a, b) => $"{a}{regexSplit}{b}"));
|
||||
});
|
||||
|
||||
return res;
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<packages>
|
||||
<package id="Magick.NET-Q8-AnyCPU" version="7.4.6" targetFramework="net462" />
|
||||
</packages>
|
Reference in New Issue
Block a user