mirror of
https://github.com/celogeek/go-comic-converter.git
synced 2025-06-26 07:09:55 +02:00
use 8bits gray scale instead of palette
Palette limit the number of color to 16. But kindle seems to handle more. Remove the palette, and let the kindle handle the shade of gray
This commit is contained in:
parent
34ed40e26c
commit
bb5659277b
@ -117,12 +117,11 @@ func (o *Options) ShowDefault() string {
|
||||
profile := o.GetProfile()
|
||||
if profile != nil {
|
||||
profileDesc = fmt.Sprintf(
|
||||
"%s - %s - %dx%d - %d levels of gray",
|
||||
"%s - %s - %dx%d",
|
||||
o.Profile,
|
||||
profile.Description,
|
||||
profile.Width,
|
||||
profile.Height,
|
||||
len(profile.Palette),
|
||||
)
|
||||
}
|
||||
limitmb := "nolimit"
|
||||
|
@ -2,10 +2,7 @@ package profiles
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"image/color"
|
||||
"strings"
|
||||
|
||||
"github.com/celogeek/go-comic-converter/v2/internal/epub"
|
||||
)
|
||||
|
||||
type Profile struct {
|
||||
@ -13,38 +10,37 @@ type Profile struct {
|
||||
Description string
|
||||
Width int
|
||||
Height int
|
||||
Palette color.Palette
|
||||
}
|
||||
|
||||
type Profiles []Profile
|
||||
|
||||
func New() Profiles {
|
||||
return []Profile{
|
||||
{"K1", "Kindle 1", 600, 670, epub.PALETTE_4},
|
||||
{"K11", "Kindle 11", 1072, 1448, epub.PALETTE_16},
|
||||
{"K2", "Kindle 2", 600, 670, epub.PALETTE_15},
|
||||
{"K34", "Kindle Keyboard/Touch", 600, 800, epub.PALETTE_16},
|
||||
{"K578", "Kindle", 600, 800, epub.PALETTE_16},
|
||||
{"KDX", "Kindle DX/DXG", 824, 1000, epub.PALETTE_16},
|
||||
{"KPW", "Kindle Paperwhite 1/2", 758, 1024, epub.PALETTE_16},
|
||||
{"KV", "Kindle Paperwhite 3/4/Voyage/Oasis", 1072, 1448, epub.PALETTE_16},
|
||||
{"KPW5", "Kindle Paperwhite 5/Signature Edition", 1236, 1648, epub.PALETTE_16},
|
||||
{"KO", "Kindle Oasis 2/3", 1264, 1680, epub.PALETTE_16},
|
||||
{"KS", "Kindle Scribe", 1860, 2480, epub.PALETTE_16},
|
||||
{"K1", "Kindle 1", 600, 670},
|
||||
{"K11", "Kindle 11", 1072, 1448},
|
||||
{"K2", "Kindle 2", 600, 670},
|
||||
{"K34", "Kindle Keyboard/Touch", 600, 800},
|
||||
{"K578", "Kindle", 600, 800},
|
||||
{"KDX", "Kindle DX/DXG", 824, 1000},
|
||||
{"KPW", "Kindle Paperwhite 1/2", 758, 1024},
|
||||
{"KV", "Kindle Paperwhite 3/4/Voyage/Oasis", 1072, 1448},
|
||||
{"KPW5", "Kindle Paperwhite 5/Signature Edition", 1236, 1648},
|
||||
{"KO", "Kindle Oasis 2/3", 1264, 1680},
|
||||
{"KS", "Kindle Scribe", 1860, 2480},
|
||||
// Kobo
|
||||
{"KoMT", "Kobo Mini/Touch", 600, 800, epub.PALETTE_16},
|
||||
{"KoG", "Kobo Glo", 768, 1024, epub.PALETTE_16},
|
||||
{"KoGHD", "Kobo Glo HD", 1072, 1448, epub.PALETTE_16},
|
||||
{"KoA", "Kobo Aura", 758, 1024, epub.PALETTE_16},
|
||||
{"KoAHD", "Kobo Aura HD", 1080, 1440, epub.PALETTE_16},
|
||||
{"KoAH2O", "Kobo Aura H2O", 1080, 1430, epub.PALETTE_16},
|
||||
{"KoAO", "Kobo Aura ONE", 1404, 1872, epub.PALETTE_16},
|
||||
{"KoN", "Kobo Nia", 758, 1024, epub.PALETTE_16},
|
||||
{"KoC", "Kobo Clara HD/Kobo Clara 2E", 1072, 1448, epub.PALETTE_16},
|
||||
{"KoL", "Kobo Libra H2O/Kobo Libra 2", 1264, 1680, epub.PALETTE_16},
|
||||
{"KoF", "Kobo Forma", 1440, 1920, epub.PALETTE_16},
|
||||
{"KoS", "Kobo Sage", 1440, 1920, epub.PALETTE_16},
|
||||
{"KoE", "Kobo Elipsa", 1404, 1872, epub.PALETTE_16},
|
||||
{"KoMT", "Kobo Mini/Touch", 600, 800},
|
||||
{"KoG", "Kobo Glo", 768, 1024},
|
||||
{"KoGHD", "Kobo Glo HD", 1072, 1448},
|
||||
{"KoA", "Kobo Aura", 758, 1024},
|
||||
{"KoAHD", "Kobo Aura HD", 1080, 1440},
|
||||
{"KoAH2O", "Kobo Aura H2O", 1080, 1430},
|
||||
{"KoAO", "Kobo Aura ONE", 1404, 1872},
|
||||
{"KoN", "Kobo Nia", 758, 1024},
|
||||
{"KoC", "Kobo Clara HD/Kobo Clara 2E", 1072, 1448},
|
||||
{"KoL", "Kobo Libra H2O/Kobo Libra 2", 1264, 1680},
|
||||
{"KoF", "Kobo Forma", 1440, 1920},
|
||||
{"KoS", "Kobo Sage", 1440, 1920},
|
||||
{"KoE", "Kobo Elipsa", 1404, 1872},
|
||||
}
|
||||
}
|
||||
|
||||
@ -52,10 +48,9 @@ func (p Profiles) String() string {
|
||||
s := make([]string, 0)
|
||||
for _, v := range p {
|
||||
s = append(s, fmt.Sprintf(
|
||||
" - %-7s ( %9s ) - %2d levels of gray - %s",
|
||||
" - %-7s ( %9s ) - %s",
|
||||
v.Code,
|
||||
fmt.Sprintf("%dx%d", v.Width, v.Height),
|
||||
len(v.Palette),
|
||||
v.Description,
|
||||
))
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package epub
|
||||
import (
|
||||
"encoding/xml"
|
||||
"fmt"
|
||||
"image/color"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
@ -21,7 +20,6 @@ type ImageOptions struct {
|
||||
ViewHeight int
|
||||
Quality int
|
||||
Algo string
|
||||
Palette color.Palette
|
||||
Brightness int
|
||||
Contrast int
|
||||
AutoRotate bool
|
||||
|
@ -176,7 +176,7 @@ func (e *ePub) LoadImages() ([]*Image, error) {
|
||||
g := NewGift(e.ImageOptions)
|
||||
|
||||
// Convert image
|
||||
dst := image.NewPaletted(g.Bounds(src.Bounds()), e.ImageOptions.Palette)
|
||||
dst := image.NewGray(g.Bounds(src.Bounds()))
|
||||
g.Draw(dst, src)
|
||||
|
||||
imageOutput <- &Image{
|
||||
@ -202,7 +202,7 @@ func (e *ePub) LoadImages() ([]*Image, error) {
|
||||
gifts := NewGiftSplitDoublePage(e.ImageOptions)
|
||||
for i, g := range gifts {
|
||||
part := i + 1
|
||||
dst := image.NewPaletted(g.Bounds(src.Bounds()), e.ImageOptions.Palette)
|
||||
dst := image.NewGray(g.Bounds(src.Bounds()))
|
||||
g.Draw(dst, src)
|
||||
imageOutput <- &Image{
|
||||
Id: img.Id,
|
||||
|
@ -1,47 +0,0 @@
|
||||
package epub
|
||||
|
||||
import "image/color"
|
||||
|
||||
var PALETTE_16 = color.Palette{
|
||||
color.Gray{0x00},
|
||||
color.Gray{0x11},
|
||||
color.Gray{0x22},
|
||||
color.Gray{0x33},
|
||||
color.Gray{0x44},
|
||||
color.Gray{0x55},
|
||||
color.Gray{0x66},
|
||||
color.Gray{0x77},
|
||||
color.Gray{0x88},
|
||||
color.Gray{0x99},
|
||||
color.Gray{0xaa},
|
||||
color.Gray{0xbb},
|
||||
color.Gray{0xcc},
|
||||
color.Gray{0xdd},
|
||||
color.Gray{0xee},
|
||||
color.Gray{0xff},
|
||||
}
|
||||
|
||||
var PALETTE_15 = color.Palette{
|
||||
color.Gray{0x00},
|
||||
color.Gray{0x11},
|
||||
color.Gray{0x22},
|
||||
color.Gray{0x33},
|
||||
color.Gray{0x44},
|
||||
color.Gray{0x55},
|
||||
color.Gray{0x66},
|
||||
color.Gray{0x77},
|
||||
color.Gray{0x88},
|
||||
color.Gray{0x99},
|
||||
color.Gray{0xaa},
|
||||
color.Gray{0xbb},
|
||||
color.Gray{0xcc},
|
||||
color.Gray{0xdd},
|
||||
color.Gray{0xff},
|
||||
}
|
||||
|
||||
var PALETTE_4 = color.Palette{
|
||||
color.Gray{0x00},
|
||||
color.Gray{0x55},
|
||||
color.Gray{0xaa},
|
||||
color.Gray{0xff},
|
||||
}
|
1
main.go
1
main.go
@ -106,7 +106,6 @@ $ go install github.com/celogeek/go-comic-converter/v%d@%s
|
||||
ViewHeight: profile.Height,
|
||||
Quality: cmd.Options.Quality,
|
||||
Crop: cmd.Options.Crop,
|
||||
Palette: profile.Palette,
|
||||
Brightness: cmd.Options.Brightness,
|
||||
Contrast: cmd.Options.Contrast,
|
||||
AutoRotate: cmd.Options.AutoRotate,
|
||||
|
Loading…
x
Reference in New Issue
Block a user