Skip to content

Commit

Permalink
apply PNG.Image rename
Browse files Browse the repository at this point in the history
  • Loading branch information
tayloraswift committed Feb 20, 2024
1 parent 60818f5 commit 56227b6
Show file tree
Hide file tree
Showing 27 changed files with 662 additions and 659 deletions.
2 changes: 1 addition & 1 deletion Benchmarks/Compression/Swift/Main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ extension Benchmark.Encode
static
func rgba8(level:Int, path:String, trials:Int) -> ([(time:Int, hash:Int)], Int)
{
guard let image:PNG.Data.Rectangular = try? .decompress(path: path)
guard let image:PNG.Image = try? .decompress(path: path)
else
{
fatalError("failed to decode test image '\(path)'")
Expand Down
2 changes: 1 addition & 1 deletion Benchmarks/Decompression/Swift/Main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ extension Benchmark.Decode
{
let start:Int = clock()

let image:PNG.Data.Rectangular = try .decompress(stream: &blob)
let image:PNG.Image = try .decompress(stream: &blob)
let pixels:[PNG.RGBA<UInt8>] = image.unpack(as: PNG.RGBA<UInt8>.self)

let stop:Int = clock()
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ import PNG
func decode(png path:String) throws
{
guard
let image:PNG.Data.Rectangular = try .decompress(path: path)
let image:PNG.Image = try .decompress(path: path)
else
{
// failed to access file from file system
Expand All @@ -66,7 +66,7 @@ Encode an image:
```swift
func encode(png path:String, size:(x:Int, y:Int), pixels:[PNG.RGBA<UInt8>]) throws
{
let image:PNG.Data.Rectangular = .init(packing: pixels, size: size,
let image:PNG.Image = .init(packing: pixels, size: size,
layout: .init(format: .rgba8(palette: [], fill: nil)))
try image.compress(path: path, level: 9)
}
Expand Down
2 changes: 1 addition & 1 deletion Snippets/PNG/BasicDecoding.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import PNG
let path:String = "Sources/PNG/docs.docc/BasicDecoding/BasicDecoding"

guard
let image:PNG.Data.Rectangular = try .decompress(path: "\(path).png")
let image:PNG.Image = try .decompress(path: "\(path).png")
else
{
fatalError("failed to open file '\(path).png'")
Expand Down
8 changes: 4 additions & 4 deletions Snippets/PNG/BasicEncoding.swift
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ let layout:(rgb:PNG.Layout, v:PNG.Layout) =

do
{
let image:PNG.Data.Rectangular = .init(packing: rgba, size: size, layout: layout.rgb)
let image:PNG.Image = .init(packing: rgba, size: size, layout: layout.rgb)
try image.compress(path: "\(path)-color-rgb.png", level: 9)

for level:Int in [0, 4, 8, 13]
Expand All @@ -43,7 +43,7 @@ do
}
do
{
let image:PNG.Data.Rectangular = .init(packing: rgba, size: size, layout: layout.v)
let image:PNG.Image = .init(packing: rgba, size: size, layout: layout.v)
try image.compress(path: "\(path)-color-v.png", level: 9)
}

Expand All @@ -57,11 +57,11 @@ let luminance:[UInt8] = rgba.map
}
do
{
let image:PNG.Data.Rectangular = .init(packing: luminance, size: size, layout: layout.v)
let image:PNG.Image = .init(packing: luminance, size: size, layout: layout.v)
try image.compress(path: "\(path)-luminance-v.png", level: 9)
}
do
{
let image:PNG.Data.Rectangular = .init(packing: luminance, size: size, layout: layout.rgb)
let image:PNG.Image = .init(packing: luminance, size: size, layout: layout.rgb)
try image.compress(path: "\(path)-luminance-rgb.png", level: 9)
}
10 changes: 5 additions & 5 deletions Snippets/PNG/CustomColor.swift
Original file line number Diff line number Diff line change
Expand Up @@ -296,36 +296,36 @@ extension HSVA:PNG.Color
}

guard
let image:PNG.Data.Rectangular = try .decompress(path: "\(path).png")
let image:PNG.Image = try .decompress(path: "\(path).png")
else
{
fatalError("failed to open file '\(path).png'")
}

let hsva:[HSVA] = image.unpack(as: HSVA.self)

let hue:PNG.Data.Rectangular = .init(
let hue:PNG.Image = .init(
packing: hsva.map{ HSVA.init(h: $0.h, s: .max / 2, v: .max, a: $0.a) },
size: image.size,
layout: image.layout,
metadata: image.metadata)
try hue.compress(path: "\(path)-hue.png")

let saturation:PNG.Data.Rectangular = .init(
let saturation:PNG.Image = .init(
packing: hsva.map{ HSVA.init(h: 370000, s: $0.s, v: .max, a: $0.a) },
size: image.size,
layout: image.layout,
metadata: image.metadata)
try saturation.compress(path: "\(path)-saturation.png")

let value:PNG.Data.Rectangular = .init(
let value:PNG.Image = .init(
packing: hsva.map{ HSVA.init(h: 0, s: 0, v: $0.v, a: $0.a) },
size: image.size,
layout: image.layout,
metadata: image.metadata)
try value.compress(path: "\(path)-value.png")

let new:PNG.Data.Rectangular = .init(packing: hsva,
let new:PNG.Image = .init(packing: hsva,
size: image.size,
layout: image.layout,
metadata: image.metadata)
Expand Down
4 changes: 2 additions & 2 deletions Snippets/PNG/ImageMetadata.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import PNG
let path:String = "Sources/PNG/docs.docc/ImageMetadata/ImageMetadata"

guard
var image:PNG.Data.Rectangular = try .decompress(path: "\(path).png")
var image:PNG.Image = try .decompress(path: "\(path).png")
else
{
fatalError("failed to open file '\(path).png'")
Expand All @@ -30,7 +30,7 @@ image.metadata.time = .init(year: 1992, month: 8, day: 3, hour: 0, minute: 0, se
try image.compress(path: "\(path)-newtime.png")


if let image:PNG.Data.Rectangular = try .decompress(path: "\(path)-newtime.png"),
if let image:PNG.Image = try .decompress(path: "\(path)-newtime.png"),
let time:PNG.TimeModified = image.metadata.time ?? nil
{
print(time)
Expand Down
2 changes: 1 addition & 1 deletion Snippets/PNG/ImagesInMemory.swift
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ else

var blob:System.Blob = .init(data)
// read from blob
let image:PNG.Data.Rectangular = try .decompress(stream: &blob)
let image:PNG.Image = try .decompress(stream: &blob)
let rgba:[PNG.RGBA<UInt8>] = image.unpack(as: PNG.RGBA<UInt8>.self)
guard
let _:Void = (System.File.Destination.open(path: "\(path).png.rgba")
Expand Down
6 changes: 3 additions & 3 deletions Snippets/PNG/Indexing.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import PNG
let path:String = "Sources/PNG/docs.docc/Indexing/Indexing"

guard
let image:PNG.Data.Rectangular = try .decompress(path: "\(path).png")
let image:PNG.Image = try .decompress(path: "\(path).png")
else
{
fatalError("failed to open file '\(path).png'")
Expand Down Expand Up @@ -77,12 +77,12 @@ let swatch:[PNG.RGBA<UInt8>] = (0 ..< 16).flatMap
return .init(r, g, b, a)
}
}
let visualization:PNG.Data.Rectangular = .init(packing: swatch, size: (256, 16),
let visualization:PNG.Image = .init(packing: swatch, size: (256, 16),
layout: .init(format: .rgb8(palette: [], fill: nil, key: nil)))
try visualization.compress(path: "\(path)-gradient.png")

// encode colorized image
let indexed:PNG.Data.Rectangular = .init(packing: v, size: image.size,
let indexed:PNG.Image = .init(packing: v, size: image.size,
layout: .init(format: .indexed8(palette: gradient, fill: nil)),
metadata: image.metadata)
{
Expand Down
16 changes: 8 additions & 8 deletions Snippets/PNG/OnlineDecoding.swift
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ func waitChunk(stream:inout Stream) throws -> (type:PNG.Chunk, data:[UInt8])

func decodeOnline(stream:inout Stream,
overdraw:Bool,
capture:(PNG.Data.Rectangular) throws -> ()) throws -> PNG.Data.Rectangular
capture:(PNG.Image) throws -> ()) throws -> PNG.Image
{
// lex PNG signature bytes
try waitSignature(stream: &stream)
Expand Down Expand Up @@ -212,9 +212,9 @@ func decodeOnline(stream:inout Stream,
var stream:Stream = .init(path: "\(path).png")

var counter:Int = 0
let image:PNG.Data.Rectangular = try decodeOnline(stream: &stream, overdraw: false)
let image:PNG.Image = try decodeOnline(stream: &stream, overdraw: false)
{
(snapshot:PNG.Data.Rectangular) in
(snapshot:PNG.Image) in

let _:[PNG.RGBA<UInt8>] = snapshot.unpack(as: PNG.RGBA<UInt8>.self)

Expand All @@ -223,15 +223,15 @@ let image:PNG.Data.Rectangular = try decodeOnline(stream: &stream, overdraw: fal
}

let layout:PNG.Layout = .init(format: image.layout.format, interlaced: true)
let progressive:PNG.Data.Rectangular = image.bindStorage(to: layout)
let progressive:PNG.Image = image.bindStorage(to: layout)

try progressive.compress(path: "\(path)-progressive.png", hint: 1 << 12)

stream = .init(path: "\(path)-progressive.png")
counter = 0
let _:PNG.Data.Rectangular = try decodeOnline(stream: &stream, overdraw: false)
let _:PNG.Image = try decodeOnline(stream: &stream, overdraw: false)
{
(snapshot:PNG.Data.Rectangular) in
(snapshot:PNG.Image) in

try snapshot.compress(path: "\(path)-progressive-\(counter).png")
counter += 1
Expand All @@ -240,9 +240,9 @@ let _:PNG.Data.Rectangular = try decodeOnline(stream: &stream, overdraw: false)
stream.reset(position: 0)

counter = 0
let _:PNG.Data.Rectangular = try decodeOnline(stream: &stream, overdraw: true)
let _:PNG.Image = try decodeOnline(stream: &stream, overdraw: true)
{
(snapshot:PNG.Data.Rectangular) in
(snapshot:PNG.Image) in

try snapshot.compress(path: "\(path)-progressive-overdrawn-\(counter).png")
counter += 1
Expand Down
6 changes: 3 additions & 3 deletions Snippets/PNG/iPhoneOptimized.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import PNG
let path:String = "Sources/PNG/docs.docc/iPhoneOptimized/iPhoneOptimized"

guard
var image:PNG.Data.Rectangular = try .decompress(path: "\(path).png")
var image:PNG.Image = try .decompress(path: "\(path).png")
else
{
fatalError("failed to open file '\(path).png'")
Expand All @@ -15,14 +15,14 @@ let rgba:[PNG.RGBA<UInt8>] = image.unpack(as: PNG.RGBA<UInt8>.self).map(\.straig

print(image.storage[..<16])

let standard:PNG.Data.Rectangular = .init(
let standard:PNG.Image = .init(
packing: rgba,
size: image.size,
layout: .init(format: .rgb8(palette: [], fill: nil, key: nil)))

try standard.compress(path: "\(path)-rgb8.png")

let apple:PNG.Data.Rectangular = .init(
let apple:PNG.Image = .init(
packing: standard.unpack(as: PNG.RGBA<UInt8>.self).map(\.premultiplied),
size: standard.size,
layout: .init(format: .bgr8(palette: [], fill: nil, key: nil)))
Expand Down
Loading

0 comments on commit 56227b6

Please sign in to comment.