add -d:useStb
This commit is contained in:
parent
d337e04732
commit
773036a3ba
|
@ -1,17 +1,23 @@
|
|||
import pixie/images, pixie/common, pixie/fileformats/stb_image/stb_image
|
||||
import pixie/images, pixie/common
|
||||
|
||||
when defined(useStb):
|
||||
import pixie/fileformats/stb_image/stb_image
|
||||
|
||||
const
|
||||
jpgStartOfImage* = [0xFF.uint8, 0xD8]
|
||||
|
||||
proc decodeJpg*(data: seq[uint8]): Image =
|
||||
## Decodes the JPEG into an Image.
|
||||
var
|
||||
width: int
|
||||
height: int
|
||||
let pixels = loadFromMemory(data, width, height)
|
||||
when not defined(useStb):
|
||||
raise newException(PixieError, "Decoding JPG requires -d:useStb")
|
||||
else:
|
||||
var
|
||||
width: int
|
||||
height: int
|
||||
let pixels = loadFromMemory(data, width, height)
|
||||
|
||||
result = newImage(width, height)
|
||||
copyMem(result.data[0].addr, pixels[0].unsafeAddr, pixels.len)
|
||||
result = newImage(width, height)
|
||||
copyMem(result.data[0].addr, pixels[0].unsafeAddr, pixels.len)
|
||||
|
||||
proc decodeJpg*(data: string): Image {.inline.} =
|
||||
decodeJpg(cast[seq[uint8]](data))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import pixie/fileformats/jpg
|
||||
when defined(useStb):
|
||||
import pixie/fileformats/jpg
|
||||
|
||||
let
|
||||
original = readFile("tests/images/jpg/jpeg420exif.jpg")
|
||||
stbDecoded = decodeJpg(original)
|
||||
let
|
||||
original = readFile("tests/images/jpg/jpeg420exif.jpg")
|
||||
stbDecoded = decodeJpg(original)
|
||||
|
|
Loading…
Reference in a new issue