Coder Social home page Coder Social logo

mdbeditor's Introduction

mdbeditor's People

Contributors

abdullahoztuurkk 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

Watchers

 avatar  avatar

mdbeditor's Issues

Drawing Ruler

A ruler needs to be added to the top and left of the drawing board.
Also can be added units of width.

Expected screenshot or something like this.

resim

Drawing Board Doesn't Expand

Drawing board does not expand after pressing and expanding the triangle in the corner. But surprisingly sometimes this doesnt happen after use undo. This bug must be fixed asap.

Grayscale Effect

The app needs to be able to apply the graying out effect.
The formula is simple.
Take R,G,B values from Image. Calculate gray-pixel by (R+G+B)/3 and put graypixel instead of that pixel.
Also this operation must be cancelable with CTRL + Z

Filler Tool Implementation

I've done research on this topic many times. I came across an algorithm called "Flood Fill", but in my research, I saw that this algorithm was not performant enough. I will be waiting for your contributions on this matter.

Application Icon

Application doesn't have beatiful icon yet. Due of this, we will be waiting your contributions or any design ideas for app icon.

Undo-Redo Mechanism

App needs to have undo-redo mechanism on drawing board. It should be applicable when something goes wrong on drawing board.

Some Keyboard Shortcuts

  • CTRL+A = Copy Bitmap Area
  • CTRL+C = Copy bitmap area
  • CTRL+V = Paste bitmap area
  • CTRL+S = Save image
  • CTRL+Z = Undo
  • CTRL+Y = Redo
  • CTRL+N = Open new page
  • CTRL+G = Toggle gridline
  • CTRL+E = Open settings page
  • CTRL+P = Open print dialog page
  • CTRL+R = Toggle ruler
  • CTRL+ Num + = Increase size
  • CTRL + Num - = Descrease size

Resize problem

Drawn graphics has been deleting when drawing board (resizable picturebox) has been resizing.

This bug should be fixed as soon as possible.

About Page

This page must be contains app name, goal, version and general icon.
It also needs to include a link and description for encourage any developers to contribute.

Expected About Box
For Example : (OBS Studio)

about-box-2

Generic Tool Implementation

I think we need a interface for every drawing tools in program. Before all, we need enum contains tools. Then, generate new instance implemented from this interface.

public enum Drawing_Tool
{
    Pen,
    Eraser,
    Text,
    Filler,
    Color_Picker,
    Zoom
}
public interface ITool
{
    public void Draw();
}

Related classes implemented from interface

public class Pen : ITool
{
    public void Draw() => throw new NotImplementedException();
}
public class Zoom : ITool
{
    public void Draw() => throw new NotImplementedException();
}
public class Eraser : ITool
{
    public void Draw() => throw new NotImplementedException();
}
public class Color_Picker : ITool
{
    public void Draw() => throw new NotImplementedException();
}
public class Filler : ITool
{
    public void Draw() => throw new NotImplementedException();
}

A function which generate instance then return tool

public ITool GetTool(Drawing_Tool tool)
{
    ITool currentTool = null;
    switch (tool)
    {
        case Drawing_Tool.Pen:
            currentTool = new Pen();
            break;
        case Drawing_Tool.Eraser:
            currentTool = new Eraser();
            break;
        case Drawing_Tool.Filler:
            currentTool = new Filler();
            break;
        case Drawing_Tool.Text:
            currentTool = new Text();
            break;
        case Drawing_Tool.Color_Picker:
            currentTool = new Color_Picker();
            break;
        case Drawing_Tool.Zoom:
            currentTool = new Zoom();
            break;
    }
    return currentTool;
}

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.