diff --git a/src/Aardvark.Base.Tensors/Aardvark.Base.Tensors.fsproj b/src/Aardvark.Base.Tensors/Aardvark.Base.Tensors.fsproj
index 263dd413..3ba10fad 100644
--- a/src/Aardvark.Base.Tensors/Aardvark.Base.Tensors.fsproj
+++ b/src/Aardvark.Base.Tensors/Aardvark.Base.Tensors.fsproj
@@ -20,9 +20,9 @@
+
-
diff --git a/src/Aardvark.Base.Tensors/PixImage/ImageTrafo.fs b/src/Aardvark.Base.Tensors/PixImage/ImageTrafo.fs
index b7373013..71a210d0 100644
--- a/src/Aardvark.Base.Tensors/PixImage/ImageTrafo.fs
+++ b/src/Aardvark.Base.Tensors/PixImage/ImageTrafo.fs
@@ -3,75 +3,75 @@
[]
module ImageTrafo =
let private composeTable =
- Dictionary.ofList [
- (ImageTrafo.Identity, ImageTrafo.Identity), ImageTrafo.Identity
- (ImageTrafo.Identity, ImageTrafo.Rot90), ImageTrafo.Rot90
- (ImageTrafo.Identity, ImageTrafo.Rot180), ImageTrafo.Rot180
- (ImageTrafo.Identity, ImageTrafo.Rot270), ImageTrafo.Rot270
- (ImageTrafo.Identity, ImageTrafo.MirrorX), ImageTrafo.MirrorX
- (ImageTrafo.Identity, ImageTrafo.Transpose), ImageTrafo.Transpose
- (ImageTrafo.Identity, ImageTrafo.MirrorY), ImageTrafo.MirrorY
- (ImageTrafo.Identity, ImageTrafo.Transverse), ImageTrafo.Transverse
- (ImageTrafo.Rot90, ImageTrafo.Identity), ImageTrafo.Rot90
- (ImageTrafo.Rot90, ImageTrafo.Rot90), ImageTrafo.Rot180
- (ImageTrafo.Rot90, ImageTrafo.Rot180), ImageTrafo.Rot270
- (ImageTrafo.Rot90, ImageTrafo.Rot270), ImageTrafo.Identity
- (ImageTrafo.Rot90, ImageTrafo.MirrorX), ImageTrafo.Transverse
- (ImageTrafo.Rot90, ImageTrafo.Transpose), ImageTrafo.MirrorX
- (ImageTrafo.Rot90, ImageTrafo.MirrorY), ImageTrafo.Transpose
- (ImageTrafo.Rot90, ImageTrafo.Transverse), ImageTrafo.MirrorY
- (ImageTrafo.Rot180, ImageTrafo.Identity), ImageTrafo.Rot180
- (ImageTrafo.Rot180, ImageTrafo.Rot90), ImageTrafo.Rot270
- (ImageTrafo.Rot180, ImageTrafo.Rot180), ImageTrafo.Identity
- (ImageTrafo.Rot180, ImageTrafo.Rot270), ImageTrafo.Rot90
- (ImageTrafo.Rot180, ImageTrafo.MirrorX), ImageTrafo.MirrorY
- (ImageTrafo.Rot180, ImageTrafo.Transpose), ImageTrafo.Transverse
- (ImageTrafo.Rot180, ImageTrafo.MirrorY), ImageTrafo.MirrorX
- (ImageTrafo.Rot180, ImageTrafo.Transverse), ImageTrafo.Transpose
- (ImageTrafo.Rot270, ImageTrafo.Identity), ImageTrafo.Rot270
- (ImageTrafo.Rot270, ImageTrafo.Rot90), ImageTrafo.Identity
- (ImageTrafo.Rot270, ImageTrafo.Rot180), ImageTrafo.Rot90
- (ImageTrafo.Rot270, ImageTrafo.Rot270), ImageTrafo.Rot180
- (ImageTrafo.Rot270, ImageTrafo.MirrorX), ImageTrafo.Transpose
- (ImageTrafo.Rot270, ImageTrafo.Transpose), ImageTrafo.MirrorY
- (ImageTrafo.Rot270, ImageTrafo.MirrorY), ImageTrafo.Transverse
- (ImageTrafo.Rot270, ImageTrafo.Transverse), ImageTrafo.MirrorX
- (ImageTrafo.MirrorX, ImageTrafo.Identity), ImageTrafo.MirrorX
- (ImageTrafo.MirrorX, ImageTrafo.Rot90), ImageTrafo.Transpose
- (ImageTrafo.MirrorX, ImageTrafo.Rot180), ImageTrafo.MirrorY
- (ImageTrafo.MirrorX, ImageTrafo.Rot270), ImageTrafo.Transverse
- (ImageTrafo.MirrorX, ImageTrafo.MirrorX), ImageTrafo.Identity
- (ImageTrafo.MirrorX, ImageTrafo.Transpose), ImageTrafo.Rot90
- (ImageTrafo.MirrorX, ImageTrafo.MirrorY), ImageTrafo.Rot180
- (ImageTrafo.MirrorX, ImageTrafo.Transverse), ImageTrafo.Rot270
- (ImageTrafo.Transpose, ImageTrafo.Identity), ImageTrafo.Transpose
- (ImageTrafo.Transpose, ImageTrafo.Rot90), ImageTrafo.MirrorY
- (ImageTrafo.Transpose, ImageTrafo.Rot180), ImageTrafo.Transverse
- (ImageTrafo.Transpose, ImageTrafo.Rot270), ImageTrafo.MirrorX
- (ImageTrafo.Transpose, ImageTrafo.MirrorX), ImageTrafo.Rot270
- (ImageTrafo.Transpose, ImageTrafo.Transpose), ImageTrafo.Identity
- (ImageTrafo.Transpose, ImageTrafo.MirrorY), ImageTrafo.Rot90
- (ImageTrafo.Transpose, ImageTrafo.Transverse), ImageTrafo.Rot180
- (ImageTrafo.MirrorY, ImageTrafo.Identity), ImageTrafo.MirrorY
- (ImageTrafo.MirrorY, ImageTrafo.Rot90), ImageTrafo.Transverse
- (ImageTrafo.MirrorY, ImageTrafo.Rot180), ImageTrafo.MirrorX
- (ImageTrafo.MirrorY, ImageTrafo.Rot270), ImageTrafo.Transpose
- (ImageTrafo.MirrorY, ImageTrafo.MirrorX), ImageTrafo.Rot180
- (ImageTrafo.MirrorY, ImageTrafo.Transpose), ImageTrafo.Rot270
- (ImageTrafo.MirrorY, ImageTrafo.MirrorY), ImageTrafo.Identity
- (ImageTrafo.MirrorY, ImageTrafo.Transverse), ImageTrafo.Rot90
- (ImageTrafo.Transverse, ImageTrafo.Identity), ImageTrafo.Transverse
- (ImageTrafo.Transverse, ImageTrafo.Rot90), ImageTrafo.MirrorX
- (ImageTrafo.Transverse, ImageTrafo.Rot180), ImageTrafo.Transpose
- (ImageTrafo.Transverse, ImageTrafo.Rot270), ImageTrafo.MirrorY
- (ImageTrafo.Transverse, ImageTrafo.MirrorX), ImageTrafo.Rot90
- (ImageTrafo.Transverse, ImageTrafo.Transpose), ImageTrafo.Rot180
- (ImageTrafo.Transverse, ImageTrafo.MirrorY), ImageTrafo.Rot270
- (ImageTrafo.Transverse, ImageTrafo.Transverse), ImageTrafo.Identity
+ LookupTable.lookupTable [
+ struct (ImageTrafo.Identity, ImageTrafo.Identity), ImageTrafo.Identity
+ struct (ImageTrafo.Identity, ImageTrafo.Rot90), ImageTrafo.Rot90
+ struct (ImageTrafo.Identity, ImageTrafo.Rot180), ImageTrafo.Rot180
+ struct (ImageTrafo.Identity, ImageTrafo.Rot270), ImageTrafo.Rot270
+ struct (ImageTrafo.Identity, ImageTrafo.MirrorX), ImageTrafo.MirrorX
+ struct (ImageTrafo.Identity, ImageTrafo.Transpose), ImageTrafo.Transpose
+ struct (ImageTrafo.Identity, ImageTrafo.MirrorY), ImageTrafo.MirrorY
+ struct (ImageTrafo.Identity, ImageTrafo.Transverse), ImageTrafo.Transverse
+ struct (ImageTrafo.Rot90, ImageTrafo.Identity), ImageTrafo.Rot90
+ struct (ImageTrafo.Rot90, ImageTrafo.Rot90), ImageTrafo.Rot180
+ struct (ImageTrafo.Rot90, ImageTrafo.Rot180), ImageTrafo.Rot270
+ struct (ImageTrafo.Rot90, ImageTrafo.Rot270), ImageTrafo.Identity
+ struct (ImageTrafo.Rot90, ImageTrafo.MirrorX), ImageTrafo.Transverse
+ struct (ImageTrafo.Rot90, ImageTrafo.Transpose), ImageTrafo.MirrorX
+ struct (ImageTrafo.Rot90, ImageTrafo.MirrorY), ImageTrafo.Transpose
+ struct (ImageTrafo.Rot90, ImageTrafo.Transverse), ImageTrafo.MirrorY
+ struct (ImageTrafo.Rot180, ImageTrafo.Identity), ImageTrafo.Rot180
+ struct (ImageTrafo.Rot180, ImageTrafo.Rot90), ImageTrafo.Rot270
+ struct (ImageTrafo.Rot180, ImageTrafo.Rot180), ImageTrafo.Identity
+ struct (ImageTrafo.Rot180, ImageTrafo.Rot270), ImageTrafo.Rot90
+ struct (ImageTrafo.Rot180, ImageTrafo.MirrorX), ImageTrafo.MirrorY
+ struct (ImageTrafo.Rot180, ImageTrafo.Transpose), ImageTrafo.Transverse
+ struct (ImageTrafo.Rot180, ImageTrafo.MirrorY), ImageTrafo.MirrorX
+ struct (ImageTrafo.Rot180, ImageTrafo.Transverse), ImageTrafo.Transpose
+ struct (ImageTrafo.Rot270, ImageTrafo.Identity), ImageTrafo.Rot270
+ struct (ImageTrafo.Rot270, ImageTrafo.Rot90), ImageTrafo.Identity
+ struct (ImageTrafo.Rot270, ImageTrafo.Rot180), ImageTrafo.Rot90
+ struct (ImageTrafo.Rot270, ImageTrafo.Rot270), ImageTrafo.Rot180
+ struct (ImageTrafo.Rot270, ImageTrafo.MirrorX), ImageTrafo.Transpose
+ struct (ImageTrafo.Rot270, ImageTrafo.Transpose), ImageTrafo.MirrorY
+ struct (ImageTrafo.Rot270, ImageTrafo.MirrorY), ImageTrafo.Transverse
+ struct (ImageTrafo.Rot270, ImageTrafo.Transverse), ImageTrafo.MirrorX
+ struct (ImageTrafo.MirrorX, ImageTrafo.Identity), ImageTrafo.MirrorX
+ struct (ImageTrafo.MirrorX, ImageTrafo.Rot90), ImageTrafo.Transpose
+ struct (ImageTrafo.MirrorX, ImageTrafo.Rot180), ImageTrafo.MirrorY
+ struct (ImageTrafo.MirrorX, ImageTrafo.Rot270), ImageTrafo.Transverse
+ struct (ImageTrafo.MirrorX, ImageTrafo.MirrorX), ImageTrafo.Identity
+ struct (ImageTrafo.MirrorX, ImageTrafo.Transpose), ImageTrafo.Rot90
+ struct (ImageTrafo.MirrorX, ImageTrafo.MirrorY), ImageTrafo.Rot180
+ struct (ImageTrafo.MirrorX, ImageTrafo.Transverse), ImageTrafo.Rot270
+ struct (ImageTrafo.Transpose, ImageTrafo.Identity), ImageTrafo.Transpose
+ struct (ImageTrafo.Transpose, ImageTrafo.Rot90), ImageTrafo.MirrorY
+ struct (ImageTrafo.Transpose, ImageTrafo.Rot180), ImageTrafo.Transverse
+ struct (ImageTrafo.Transpose, ImageTrafo.Rot270), ImageTrafo.MirrorX
+ struct (ImageTrafo.Transpose, ImageTrafo.MirrorX), ImageTrafo.Rot270
+ struct (ImageTrafo.Transpose, ImageTrafo.Transpose), ImageTrafo.Identity
+ struct (ImageTrafo.Transpose, ImageTrafo.MirrorY), ImageTrafo.Rot90
+ struct (ImageTrafo.Transpose, ImageTrafo.Transverse), ImageTrafo.Rot180
+ struct (ImageTrafo.MirrorY, ImageTrafo.Identity), ImageTrafo.MirrorY
+ struct (ImageTrafo.MirrorY, ImageTrafo.Rot90), ImageTrafo.Transverse
+ struct (ImageTrafo.MirrorY, ImageTrafo.Rot180), ImageTrafo.MirrorX
+ struct (ImageTrafo.MirrorY, ImageTrafo.Rot270), ImageTrafo.Transpose
+ struct (ImageTrafo.MirrorY, ImageTrafo.MirrorX), ImageTrafo.Rot180
+ struct (ImageTrafo.MirrorY, ImageTrafo.Transpose), ImageTrafo.Rot270
+ struct (ImageTrafo.MirrorY, ImageTrafo.MirrorY), ImageTrafo.Identity
+ struct (ImageTrafo.MirrorY, ImageTrafo.Transverse), ImageTrafo.Rot90
+ struct (ImageTrafo.Transverse, ImageTrafo.Identity), ImageTrafo.Transverse
+ struct (ImageTrafo.Transverse, ImageTrafo.Rot90), ImageTrafo.MirrorX
+ struct (ImageTrafo.Transverse, ImageTrafo.Rot180), ImageTrafo.Transpose
+ struct (ImageTrafo.Transverse, ImageTrafo.Rot270), ImageTrafo.MirrorY
+ struct (ImageTrafo.Transverse, ImageTrafo.MirrorX), ImageTrafo.Rot90
+ struct (ImageTrafo.Transverse, ImageTrafo.Transpose), ImageTrafo.Rot180
+ struct (ImageTrafo.Transverse, ImageTrafo.MirrorY), ImageTrafo.Rot270
+ struct (ImageTrafo.Transverse, ImageTrafo.Transverse), ImageTrafo.Identity
]
let compose (l : ImageTrafo) (r : ImageTrafo) =
- composeTable.[(l,r)]
+ composeTable (struct (l, r))
let inverse =
LookupTable.lookupTable [
diff --git a/src/Aardvark.Base.Tensors/PixImage/PixImageCube.fs b/src/Aardvark.Base.Tensors/PixImage/PixImageCube.fs
index 01455a6e..0b4eaf66 100644
--- a/src/Aardvark.Base.Tensors/PixImage/PixImageCube.fs
+++ b/src/Aardvark.Base.Tensors/PixImage/PixImageCube.fs
@@ -55,92 +55,6 @@ module FSharpPixImageCubeExtensions =
module PixImageCube =
module Trafo =
- let private figureOutComposeOp () =
-
- let v = Volume(V3i.III * 10)
-
- let direct = Array.zeroCreate 8
- for o0 in 0..7 do
- direct.[o0] <- v.Transformed(unbox o0).Info
-
- for o0 in 0..7 do
- for o1 in 0..7 do
- let nv = v.Transformed(unbox o0).Transformed(unbox o1).Info
-
- let res = direct |> Array.findIndex (fun di -> di.Equals(nv))
-
- printfn "(ImageTrafo.%A, ImageTrafo.%A), ImageTrafo.%A" (unbox o0) (unbox o1) (unbox res)
-
- let private composeTable =
- Dictionary.ofList [
- (ImageTrafo.Identity, ImageTrafo.Identity), ImageTrafo.Identity
- (ImageTrafo.Identity, ImageTrafo.Rot90), ImageTrafo.Rot90
- (ImageTrafo.Identity, ImageTrafo.Rot180), ImageTrafo.Rot180
- (ImageTrafo.Identity, ImageTrafo.Rot270), ImageTrafo.Rot270
- (ImageTrafo.Identity, ImageTrafo.MirrorX), ImageTrafo.MirrorX
- (ImageTrafo.Identity, ImageTrafo.Transpose), ImageTrafo.Transpose
- (ImageTrafo.Identity, ImageTrafo.MirrorY), ImageTrafo.MirrorY
- (ImageTrafo.Identity, ImageTrafo.Transverse), ImageTrafo.Transverse
- (ImageTrafo.Rot90, ImageTrafo.Identity), ImageTrafo.Rot90
- (ImageTrafo.Rot90, ImageTrafo.Rot90), ImageTrafo.Rot180
- (ImageTrafo.Rot90, ImageTrafo.Rot180), ImageTrafo.Rot270
- (ImageTrafo.Rot90, ImageTrafo.Rot270), ImageTrafo.Identity
- (ImageTrafo.Rot90, ImageTrafo.MirrorX), ImageTrafo.Transverse
- (ImageTrafo.Rot90, ImageTrafo.Transpose), ImageTrafo.MirrorX
- (ImageTrafo.Rot90, ImageTrafo.MirrorY), ImageTrafo.Transpose
- (ImageTrafo.Rot90, ImageTrafo.Transverse), ImageTrafo.MirrorY
- (ImageTrafo.Rot180, ImageTrafo.Identity), ImageTrafo.Rot180
- (ImageTrafo.Rot180, ImageTrafo.Rot90), ImageTrafo.Rot270
- (ImageTrafo.Rot180, ImageTrafo.Rot180), ImageTrafo.Identity
- (ImageTrafo.Rot180, ImageTrafo.Rot270), ImageTrafo.Rot90
- (ImageTrafo.Rot180, ImageTrafo.MirrorX), ImageTrafo.MirrorY
- (ImageTrafo.Rot180, ImageTrafo.Transpose), ImageTrafo.Transverse
- (ImageTrafo.Rot180, ImageTrafo.MirrorY), ImageTrafo.MirrorX
- (ImageTrafo.Rot180, ImageTrafo.Transverse), ImageTrafo.Transpose
- (ImageTrafo.Rot270, ImageTrafo.Identity), ImageTrafo.Rot270
- (ImageTrafo.Rot270, ImageTrafo.Rot90), ImageTrafo.Identity
- (ImageTrafo.Rot270, ImageTrafo.Rot180), ImageTrafo.Rot90
- (ImageTrafo.Rot270, ImageTrafo.Rot270), ImageTrafo.Rot180
- (ImageTrafo.Rot270, ImageTrafo.MirrorX), ImageTrafo.Transpose
- (ImageTrafo.Rot270, ImageTrafo.Transpose), ImageTrafo.MirrorY
- (ImageTrafo.Rot270, ImageTrafo.MirrorY), ImageTrafo.Transverse
- (ImageTrafo.Rot270, ImageTrafo.Transverse), ImageTrafo.MirrorX
- (ImageTrafo.MirrorX, ImageTrafo.Identity), ImageTrafo.MirrorX
- (ImageTrafo.MirrorX, ImageTrafo.Rot90), ImageTrafo.Transpose
- (ImageTrafo.MirrorX, ImageTrafo.Rot180), ImageTrafo.MirrorY
- (ImageTrafo.MirrorX, ImageTrafo.Rot270), ImageTrafo.Transverse
- (ImageTrafo.MirrorX, ImageTrafo.MirrorX), ImageTrafo.Identity
- (ImageTrafo.MirrorX, ImageTrafo.Transpose), ImageTrafo.Rot90
- (ImageTrafo.MirrorX, ImageTrafo.MirrorY), ImageTrafo.Rot180
- (ImageTrafo.MirrorX, ImageTrafo.Transverse), ImageTrafo.Rot270
- (ImageTrafo.Transpose, ImageTrafo.Identity), ImageTrafo.Transpose
- (ImageTrafo.Transpose, ImageTrafo.Rot90), ImageTrafo.MirrorY
- (ImageTrafo.Transpose, ImageTrafo.Rot180), ImageTrafo.Transverse
- (ImageTrafo.Transpose, ImageTrafo.Rot270), ImageTrafo.MirrorX
- (ImageTrafo.Transpose, ImageTrafo.MirrorX), ImageTrafo.Rot270
- (ImageTrafo.Transpose, ImageTrafo.Transpose), ImageTrafo.Identity
- (ImageTrafo.Transpose, ImageTrafo.MirrorY), ImageTrafo.Rot90
- (ImageTrafo.Transpose, ImageTrafo.Transverse), ImageTrafo.Rot180
- (ImageTrafo.MirrorY, ImageTrafo.Identity), ImageTrafo.MirrorY
- (ImageTrafo.MirrorY, ImageTrafo.Rot90), ImageTrafo.Transverse
- (ImageTrafo.MirrorY, ImageTrafo.Rot180), ImageTrafo.MirrorX
- (ImageTrafo.MirrorY, ImageTrafo.Rot270), ImageTrafo.Transpose
- (ImageTrafo.MirrorY, ImageTrafo.MirrorX), ImageTrafo.Rot180
- (ImageTrafo.MirrorY, ImageTrafo.Transpose), ImageTrafo.Rot270
- (ImageTrafo.MirrorY, ImageTrafo.MirrorY), ImageTrafo.Identity
- (ImageTrafo.MirrorY, ImageTrafo.Transverse), ImageTrafo.Rot90
- (ImageTrafo.Transverse, ImageTrafo.Identity), ImageTrafo.Transverse
- (ImageTrafo.Transverse, ImageTrafo.Rot90), ImageTrafo.MirrorX
- (ImageTrafo.Transverse, ImageTrafo.Rot180), ImageTrafo.Transpose
- (ImageTrafo.Transverse, ImageTrafo.Rot270), ImageTrafo.MirrorY
- (ImageTrafo.Transverse, ImageTrafo.MirrorX), ImageTrafo.Rot90
- (ImageTrafo.Transverse, ImageTrafo.Transpose), ImageTrafo.Rot180
- (ImageTrafo.Transverse, ImageTrafo.MirrorY), ImageTrafo.Rot270
- (ImageTrafo.Transverse, ImageTrafo.Transverse), ImageTrafo.Identity
- ]
-
- let private composeTrafo (l : ImageTrafo) (r : ImageTrafo) =
- composeTable.[(l,r)]
let private identity =
Map.ofList [
@@ -155,7 +69,7 @@ module FSharpPixImageCubeExtensions =
let private compose (l : Map) (r : Map) : Map =
l |> Map.map (fun s (ts, lt) ->
match Map.tryFind ts r with
- | Some (fs, rt) -> fs, composeTrafo lt rt
+ | Some (fs, rt) -> fs, ImageTrafo.compose lt rt
| None -> ts, lt
)
diff --git a/src/Aardvark.Base.Tensors/PixImage/PixImageImageSharp.fs b/src/Aardvark.Base.Tensors/PixImage/PixImageImageSharp.fs
index b8fbcf97..556e6796 100644
--- a/src/Aardvark.Base.Tensors/PixImage/PixImageImageSharp.fs
+++ b/src/Aardvark.Base.Tensors/PixImage/PixImageImageSharp.fs
@@ -225,29 +225,9 @@ module private ImageSharpHelpers =
)
res
- let getSize (trafo : ImageTrafo) (w : int) (h : int) =
- match trafo with
- | ImageTrafo.Transpose -> V2i(h, w)
- | ImageTrafo.Transverse -> V2i(h, w)
- | ImageTrafo.Rot90 -> V2i(h, w)
- | ImageTrafo.Rot270 -> V2i(h, w)
- | _ -> V2i(w,h)
-
let usingTransformed<'T> (fmt : Col.Format) (w : int) (h : int) (trafo : ImageTrafo) (action : PixImage<'T> -> unit) =
- let s = getSize trafo w h
-
- let inv =
- match trafo with
- | ImageTrafo.Identity -> ImageTrafo.Identity
- | ImageTrafo.Rot90 -> ImageTrafo.Rot270
- | ImageTrafo.Rot180 -> ImageTrafo.Rot180
- | ImageTrafo.Rot270 -> ImageTrafo.Rot90
- | ImageTrafo.MirrorX -> ImageTrafo.MirrorX
- | ImageTrafo.MirrorY -> ImageTrafo.MirrorY
- | ImageTrafo.Transpose -> ImageTrafo.Transpose
- | ImageTrafo.Transverse -> ImageTrafo.Transverse
- | _ -> failwithf "bad image trafo: %A" trafo
-
+ let s = ImageTrafo.transformSize (V2i(w, h)) trafo
+ let inv = ImageTrafo.inverse trafo
let img = PixImage<'T>(fmt, s)
let local = unbox>(img.Transformed inv)
action local
@@ -507,7 +487,8 @@ and [] PixImageSharp private() =
try
let info = Image.Identify stream
let trafo = getImageTrafo info
- PixImageInfo(PixFormat.ByteRGBA, getSize trafo info.Width info.Height)
+ let size = trafo |> ImageTrafo.transformSize (V2i(info.Width, info.Height))
+ PixImageInfo(PixFormat.ByteRGBA, size)
with _ ->
null
@@ -548,21 +529,9 @@ and [] PixImageSharp private() =
| None ->
if make.ToLower().Contains "canon" then 1.6 else 1.5
- let trafo = getImageTrafo info
-
- let mutable size = V2i(info.Width, info.Height)
- match trafo with
- | ImageTrafo.Transpose
- | ImageTrafo.Transverse
- | ImageTrafo.Rot90
- | ImageTrafo.Rot270 ->
- size <- V2i(size.Y, size.X)
- | _ ->
- ()
-
try
return {
- size = size
+ size = info |> getImageTrafo |> ImageTrafo.transformSize (V2i(info.Width, info.Height))
cropFactor = crop
make = make.Trim()
model = model.Trim()