Code Monkey home page Code Monkey logo

rulia's Introduction

简体中文 | 正體中文 | English | 日本語

Rulia - A modernized manga reader for Windows.

A manga reader which gives you different feeling.

Get it from Microsoft Store:

Highlights

  • Supports common formats: CBR, CBZ, ZIP, RAR, 7Z, PDF, EPUB, MOBI
  • Supports various image formats, including WebP and AVIF
  • Offers multiple reading modes to suit diverse needs
  • Removes the Moiré effect from images
  • Provides blank area trimming for manga images
  • Utilizes super-resolution to repair and enlarge small-sized images
  • Opens encrypted archives and remembers passwords
  • Features a modern user interface optimized for touch
  • Create multiple profiles to store different manga collections
  • Allows paging with the Surface Pen and Dial
  • Includes a Plugin system for extended functionality

Feedback

If you have any question or suggestion, feel free to leave an issue 😃

Roadmap

You can check the ongoing tasks in the issue or projects page of this repository.

Changelog

You can read changelog here.

Community

Screenshots

rulia rulia rulia rulia

Copyright

© 2023 LancerComet

rulia's People

Contributors

lancercomet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rulia's Issues

Blank area trimming

Trim the blank areas at the edge of images.

Only white area will be trimmed.

  • White border detection processor
  • Toggle and hotkey
  • Help dialog

Book-like flipping reader

Maybe you have seen this concept in the Lab:

image

Actually this was ported from a web project that I made several months ago, which was built by using THREE, an awesome 3D rendering lib for web browsers.

So it's not quite like a native solution, as I have to do a lot of tedious work to get .NET and WebView to communicate with each other, and the performance is poor, because I can only transfer images from .NET into WebView in base64 format, which is not ideal.

I am attempting to implement this using pure .NET technology, such as MonoGame. Although this will take a considerable amount of time, I believe it's worth the effort.

image

Sub folder access support.

Currently RuliaReader can only list the files under main folder, all the sub folders and their contents will be ignored.
Is it possible to add sub folder support, so that we can move into the sub folder in the main folder view and see what's inside.
Many thanks.

目前为止RuliaReader貌似只能扫描主目录下的可阅读内容,而主文件夹下的所有子文件夹及其内容会被忽略。请问能不能增加对子文件夹的阅读支持呢,这样就能在主文件夹的视图下点击进入子文件夹,并查看其中的可阅读内容。十分感谢。

Caching mechanic

FileMeta

FileMeta is the abstraction of a single file. It should make file loading faster.

  • Can analyze all files under a bookshelf folder. There should be a button to do this in the folder page.
  • Start automatically when a new folder is being added
  • Get the pixel size of every single image in archive and store them
  • Use FileMeta when loading a file
  • Create the FileMeta when a file has been loaded into the reader
  • Files in small size or have few images should not be cached
  • There should be one or more indicators to tell users that files are being analyzed
  • Make a helping dialog for the first time usage

Thumbnail cache

  • Create thumbnails and save them to cache folder
  • Thumbnail should be clearable

Extract manga name from a path

Suggest aliases when setting alias in bookshelf.

Example:

  • D:\MyManga\SLAM DUNK => SLAM DUNK
  • Z:\动画\俺马子与幼驯染的惨烈修罗场(伪)\漫画\裕时悠示×まりも => 俺马子与幼驯染的惨烈修罗场(伪)

A very large image will be blurry

This is a known issue. I limited the rendering size of a single image to save memory, but in some conditions it would make it a bad reading experience, like when using vertical scrolling mode.

So I have two options:

  • Increase the rendering size
  • Split the image into multiple relatively small images in vertical scrolling mode

Optimize file loading speed

  • Loading module refactor
  • File that is <= 768MB would be loaded into memory completely. This makes loading progress faster, but would takes more memory (up to 768MB).

Experimental: Image detection

I have implemented a neural network for determining whether two images are the left and right parts of the same original image. This is very helpful for the image layout process, as it can automatically stitch together two suitable images, eliminating the need for manual switching by the user.

Convert it to onnx format and embed it into Rulia by using built-in Windows AI. (Microsoft.ML.OnnxRuntime is not capable with UWP anymore)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.