mback2k / wiasane Goto Github PK
View Code? Open in Web Editor NEWScanner Access Now Easy - WIA Driver
Home Page: https://github.com/mback2k/wiasane/wiki/Downloads
License: Other
Scanner Access Now Easy - WIA Driver
Home Page: https://github.com/mback2k/wiasane/wiki/Downloads
License: Other
My Scanner offers a transparency unit, which I can not select in the standard UI. Any idea, how I can select it? I have no need to use the flatbed-unit, so a tweak in the backend to always use the transparency unit would be fine.
Thanks for this great app.
I have a question:
How I can add multiple printers (connected to one server)? I can select one when installing, but later I can't add the second scanner.
Regards,
Adrian
When ever I try to access the download page to obtain the installer.
I get told the action is "Forbidden". I have tried this on 4 separate devices.
Just thought you should know
Michael B
O/S: Windows 8.1 64 bit
Scanner: Canon MX320 Multi-Function
Scanner Application: Windows Fax and Scan
While attempting to scan multiple documents using the ADF via wiasane and Windows Fax and Scan, the first page appears to scan properly however upon entry of the second page into the ADF (roughly half way) the scanning process stops and the scanner displays an error message saying to close the ADF hatch. Repeated this process multiple times using SaneTwain and the ADF functions perfectly whereas everytime I try to scan via wiasane it will always freeze as described above and never finish.
Improve error handling within the current implementation of feature/issue #2.
Hey,
I have Canon I-Sensys MF3200 scanner plugged into my Raspberry Pi 3 B+ with installed OSMC, Sane and configured to use it over network.
Scanner works properly on the Raspberry Pi and on Linux client over network.
But I have problem with scanner for Windows clients.
It scans only once and after this applications can't find scanner.
NAPS2 displays Driver error message:
NAPS2.Scan.Exceptions.ScanDriverUnknownException: Ошибка драйвера сканирования. ---> System.Runtime.InteropServices.COMException: Исключение из HRESULT: 0x8021000A
в WIA.CommonDialogClass.ShowTransfer(Item Item, String FormatID, Boolean CancelError)
в NAPS2.Scan.Wia.ForegroundWiaTransfer.<>c__DisplayClass2_0.b__1(WiaState wia)
в NAPS2.Scan.Wia.WiaBackgroundEventLoop.<>c__DisplayClass8_01.<GetSync>b__0(WiaState wia) в NAPS2.Scan.Wia.WiaBackgroundEventLoop.<>c__DisplayClass7_0.<DoSync>b__0() --- Конец трассировки внутреннего стека исключений --- в NAPS2.Scan.Wia.WiaApi.ThrowDeviceError(COMException e) в NAPS2.Scan.Wia.WiaApi.ThrowDeviceError(Exception error) в NAPS2.Scan.Wia.WiaBackgroundEventLoop.DoSync(Action
1 action)
в NAPS2.Scan.Wia.WiaBackgroundEventLoop.GetSync[T](Func2 action) в NAPS2.Scan.Wia.ForegroundWiaTransfer.Transfer(Int32 pageNumber, WiaBackgroundEventLoop eventLoop, String format) в NAPS2.Scan.Wia.WiaScanDriver.TransferImage(WiaBackgroundEventLoop eventLoop, Int32 pageNumber, Boolean& cancel) в NAPS2.Scan.Wia.WiaScanDriver.<ScanInternal>d__13.MoveNext() в NAPS2.Scan.ScanPerformer.PerformScan(ScanProfile scanProfile, ScanParams scanParams, IWin32Window dialogParent, ISaveNotify notify, Action
1 imageCallback)
Windows Scan application says: Can't find scanner.
But when I'm using winsane-dbg.exe 192.168.1.100, it works with no problems, displays information about my scanner, scans and receives data. Also scanner device works too, so scanning.
Below winsane-dbg.exe log:
Name: pixma:04A92684_SBF770157116A
Vendor: CANON
Model: Canon imageCLASS MF3240
Type: multi-function peripheral
Name:
Title: Number of options
Description: Read-only option that specifies how many options a specific devices supports.
Value: 25
Unit: None
Name: (null)
Title: Scan mode
Description: Scan mode
Value:
Unit: None
Name: resolution
Title: Scan resolution
Description: Sets the resolution of the scanned image.
Value: 75
Unit: DPI
Word: 75
Word: 150
Word: 300
Word: 600
Resolution: 300
Name: mode
Title: Scan mode
Description: Selects the scan mode (e.g., lineart, monochrome, or color).
Value: Color
Unit: None
String: Color
String: Gray
Mode: Color
Name: source
Title: Scan source
Description: Selects the scan source (such as a document-feeder). Set source before mode and resolution. Resets mode and resolution to auto values.
Value: Flatbed
Unit: None
String: Flatbed
Name: button-controlled
Title: Button-controlled scan
Description: When enabled, scan process will not start immediately. To proceed, press "SCAN" button (for MP150) or "COLOR" button (for other models). To cancel, press "GRAY" button.
Value: 0
Unit: None
Name: (null)
Title: Gamma
Description: Gamma
Value:
Unit: None
Name: custom-gamma
Title: Use custom gamma table
Description: Determines whether a builtin or a custom gamma-table should be used.
Value:
Unit: None
Name: gamma-table
Title: Image intensity
Description: Gamma-correction table. In color mode this option equally affects the red, green, and blue channels simultaneously (i.e., it is an intensity gamma table).
Value:
Unit: None
Min: 0
Max: 255
Quant: 0
Name: gamma
Title: Gamma function exponent
Description: Changes intensity of midtones
Value:
Unit: None
Min: 0.299988 (19660)
Max: 5.000000 (327680)
Quant: 0.000000 (0)
Name: (null)
Title: Geometry
Description: Geometry
Value:
Unit: None
Name: tl-x
Title: Top-left x
Description: Top-left x position of scan area.
Value: 0.000000 (0)
Unit: Millimeter
Min: 0.000000 (0)
Max: 216.746658 (14204709)
Quant: 0.000000 (0)
Name: tl-y
Title: Top-left y
Description: Top-left y position of scan area.
Value: 0.000000 (0)
Unit: Millimeter
Min: 0.000000 (0)
Max: 297.010666 (19464891)
Quant: 0.000000 (0)
Name: br-x
Title: Bottom-right x
Description: Bottom-right x position of scan area.
Value: 216.746658 (14204709)
Unit: Millimeter
Min: 0.000000 (0)
Max: 216.746658 (14204709)
Quant: 0.000000 (0)
Name: br-y
Title: Bottom-right y
Description: Bottom-right y position of scan area.
Value: 297.010666 (19464891)
Unit: Millimeter
Min: 0.000000 (0)
Max: 297.010666 (19464891)
Quant: 0.000000 (0)
Name: (null)
Title: Buttons
Description: Buttons
Value:
Unit: None
Name: button-update
Title: Update button state
Description: Update button state
Value:
Unit: None
Name: button-1
Title: Button 1
Description: Button 1
Value: 0
Unit: None
Name: button-2
Title: Button 2
Description: Button 2
Value: 0
Unit: None
Name: original
Title: Type of original to scan
Description: Type of original to scan
Value: 0
Unit: None
Name: target
Title: Target operation type
Description: Target operation type
Value: 0
Unit: None
Name: scan-resolution
Title: Scan resolution
Description: Scan resolution
Value: 0
Unit: None
Name: (null)
Title: Extras
Description: Extras
Value:
Unit: None
Name: threshold
Title: Threshold
Description: Select minimum-brightness to get a white point
Value:
Unit: Percent
Min: 0
Max: 100
Quant: 1
Name: threshold-curve
Title: Threshold curve
Description: Dynamic threshold curve, from light to dark, normally 50-65
Value:
Unit: None
Min: 0
Max: 127
Quant: 1
Format: 1
Last Frame: 1
Bytes per Line: 7680
Pixel per Line: 2560
Lines: 3508
Depth: 8
Scan? (y/n)
The WIA microdriver currently handles those issues by always falling back to the user-supplied values. Those input values are basically set in stone, since most implementations of WIA user-interfaces do not provide a way to get updated/rounded values back from the scanning device. The values are set using a fire-and-forget approach which leads to the receiving part always assuming that the aquired image consists of the originally requested length in bytes.
The current implementation achieves this by trimming of additional padding bytes or filling up missing bytes on a per line and total row basis.
I tried to use WIASANE on Windows 7 x64 (German version) but whenever I try to fetch preview from the scanner it fails with:
"Während der Vorschau ist ein Fehler aufgetreten. Wenn ein anderes Programm den Scanner benutzt, warten Sie solange ab und versuchen Sie es erneut."
Actually the scanner is not busy and scanning from another Linux machine works fine. If I go to device manager and press "Check Device" in the WIA driver it shows: "Scanner device was successfully checked"
First of all, just wanted to congratulate you on your work. wiasane is showing a ton of promise.
My setup is as follows. Running saned on a router: TomatoUSB (Shibby version 1.23)
Canon MF4370DN (scanner works great thus far on sane, recognized immediately etc.)
I have installed wiasane 0.1.1.9 on two different windows 7 premium home x64 PC's. Install went great on both. My scanning/OCR software is Adobe Acrobat XI.
First thing, Acrobat tries to default first to its 5 'basic' profiles but wiasane doesn't respond appropriately. This forces "Custom Scan..." and use of your native driver interface, giving the options of Color Picture, Grayscale picture, Black and white picture or text and Custom Settings. The options all work, but default to very low resolutions; when I go to the Custom Settings, and adjust the quality, its' defaults are 75dpi, and -1000 for both brightness and contrast. Memory mode seems to be necessary vs native mode with regard to transfer.
A few times I've encountered scanning halting midway (on the progress bar, and in terms of actual scanning.) The cancel button changes to wait, but the process and scanner seem entirely hung. Terminating Acrobat closes the dialog, but the scanner driver disappears from the list of options, too. A restart fixes this.
Its only an annoyance, but the driver window seems to default opening BEHIND the app. This is a problem if Acrobat is full-screen, since then it no longer has focus. It would be awesome if the native driver window opened on top of the z-order.
Despite the alpha quirks, I've been using and will continue to use it, gratefully... it already does things that the actual network driver for my scanner can't do (600dpi and a much quicker transfer.)
Looking forward to future revisions. If there's any troubleshooting steps I can do or debug information I can furnish, let me know. I'll have plenty opportunity to be scanning for the foreseeable future.
Many thanks.
Update: after a reinstall and much more use...
The custom setting is persistent. The color, greyscale and black and white settings all default to the same 75 / -1000, though.
Hasn't hung midway yet, since, either. Have had a number of times either a "not available" (I'll grab the exact text next time) right at the start, or crashes the application. After a crash it won't reconnect normally. I "solved" this by resetting the device in the properties tab of the device driver.
I'm using the Windows 10 64-bit edition.
After the setup, everything works as intended but after I reboot my PC I can't scan anymore.
Maby related to #9
For example, NAPS2 throws an error with the title "An error occurred with the scanning driver"
NAPS2.Scan.Exceptions.ScanDriverUnknownException: An error occurred with the scanning driver. ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x8021000A
at WIA.CommonDialogClass.ShowTransfer(Item Item, String FormatID, Boolean CancelError)
at NAPS2.Scan.Wia.ForegroundWiaTransfer.<>c__DisplayClass2_0.<Transfer>b__1(WiaState wia)
at NAPS2.Scan.Wia.WiaBackgroundEventLoop.<>c__DisplayClass8_0`1.<GetSync>b__0(WiaState wia)
at NAPS2.Scan.Wia.WiaBackgroundEventLoop.<>c__DisplayClass7_0.<DoSync>b__0()
--- End of inner exception stack trace ---
at NAPS2.Scan.Wia.WiaApi.ThrowDeviceError(COMException e)
at NAPS2.Scan.Wia.WiaApi.ThrowDeviceError(Exception error)
at NAPS2.Scan.Wia.WiaBackgroundEventLoop.DoSync(Action`1 action)
at NAPS2.Scan.Wia.WiaBackgroundEventLoop.GetSync[T](Func`2 action)
at NAPS2.Scan.Wia.ForegroundWiaTransfer.Transfer(Int32 pageNumber, WiaBackgroundEventLoop eventLoop, String format)
at NAPS2.Scan.Wia.WiaScanDriver.TransferImage(WiaBackgroundEventLoop eventLoop, Int32 pageNumber, Boolean& cancel)
at NAPS2.Scan.Wia.WiaScanDriver.<ScanInternal>d__13.MoveNext()
at NAPS2.Scan.ScanPerformer.PerformScan(ScanProfile scanProfile, ScanParams scanParams, IWin32Window dialogParent, ISaveNotify notify, Action`1 imageCallback)
I tried running your "winsane-dbg.exe" but the output from before and after the reboot are identical.
The following steps are solving this issue until the next reboot.
I had a Code 22 (Device disabled) issue on Windows 10 1803.
The underlying cause appeared to be that the scanner got installed with the default localhost:6566 address, with no chance to set the correct IP address of saned.I could work it around with these steps:
- Go to Device Manager. See that the scanner device under "Imaging devices" is disabled with Code 22.
- Right-click on the scanner device, and select "Enable device". The disabled icon should disappear.
- Right-click on the scanner device again, and select "Properties". The device properties dialog will open.
- Navigate to the Driver tab, and click "Update driver". The update drivers wizard will open.
- Click "Browse my computer for driver software".
- Click "Let me pick from a list of available drivers on my computer". A list should appear, containing the
Scanner Access Now Easy - WIA Driver
item.- Select
Scanner Access Now Easy - WIA Driver
. Click Next.At this point, installation should begin, and the IP and port config dialog should appear, where the correct IP and port can be set.
Originally posted by @orosam in #36 (comment)
Could there be any problem with my configuration? Or what could cause this problem?
Hello, Marc
I am using your driver effectively since v. 0.0.0.2. It is really great!
First of all i would like to tell my config, so you can update your wiki here. A am using openwrt-driven TP-Link TL-WR1043ND router an a sane server with an Epson CX9300F as a scanning device. A Windows 8.1 plus Vuescan x64 acts as a client. All works great.
Also afer installation i encountered a known bug when one cannot complete installation because of hidden Windows Action center. Is it possible to add instruction for this problem to the wiki?
Thanks for your hard work!
The scanner software cannot connect with the scanner on my laptop with Win10 x64. The drivers has been set up successfully, it connects with the SANED server successfully via Device Manager, but none of the user application are not connecting with it.
Currently the GUI / Window logic attached to the wizard and property pages is using synchronous network connections to retrieve the device information. This part needs to be improved to use asynchronous network connections in order to avoid freezing or stuck GUI elements.
This also requires structural changes in the internal/underlaying WINSANE library.
This needs to be analyzed and evaluated during a proof-of-concept first. Since the WIA microdriver interface itself is not using asynchronous I/O operations the correct type of implementation still needs to be figured out.
First of all: Amazing project which you started here!
Installation worked flawlessly. Scanner was immediately recognized by all WIA applications.
Scanning with a resolution < 300 DPI works without problems.
If I select a resolution >= 300 DPI the scanner starts and finishes the scanning process but at 99%/100% the application aborts with an error message.
Errors:
Environment:
Using "scanimage" directly on the server or "SaneTWAIN" on Windows I can scan up to 600 DPI successfully. (but TWAIN is old and only a few applications support it)
Hello, i tested wiasane in windows 7 and it works very well, but i can´t install wiasane in windows 2008 server 64 bits, It shows this error:
This program does not support the version of Windows your computer is running
what can i do, to solve this problem, i needed in Windows 2008?
excuse my english, thanks
At the moment various types of error handling code flows and error code types are used, e.g.:
Thank you for this project that I have used for while.
Currently it does not seem to work on windows 10 64bits. During installation it opens the window to ask for server and port, then windows says something about an error with the driver and a code 20 (or 22?).
I have tried to run winsane-dgb 192.168.1.20 6566
but it returns immediately without output.
FWIW, scanimage -L
on linux returns: device 'net:192.168.1.20:snapscan:libusb:004:005' is a AGFA SNAPSCAN flatbed scanner
Any clues?
I've got this error after formatting Pc and trying to reinstall wiasane (latest build), in previous installation all works fine...
Detection of scanner devices with support for automatic document feeder and duplex mode is already implemented. But the following missing pieces make it currently impossible to use it correctly:
The driver doesn't install on Windows Vista. I don't know if it is just the installer or the driver but I receive a message saying that this OS is incompatible. I've tested the first version and it's the same.
How can I change IP address after installation?
Thank you for writing this driver. It's just what I needed to set up my scanner for the network.
However, I'm having an issue where in both the native wia scanning (reached with NAPS2) and the windows fax and scan dialogs the brightness, contrast, and I believe, but am not certain the resolution, have invalid default values.
On first run, in the native wia scanning dialog, the default brightness was -1000, contrast was -1000, and resolution was 12800. I'm not certain, but I doubt my scanner (an Epson Perfection 1660 Photo) supports that high of a resolution. In the windows fax and scan dialog, the resolution was sensible at 300, but brightness and contrast are maxed out at -100 each. On subsequent scans, the default brightness for the native wia scanning dialog is now -334 and for the windows fax and scan is -33.
I looked at the open issues and wonder if this might be related to issue #6.
Please let me know if I can provide any further information and thanks again for writing this.
I downloaded and tried wiasane-v0.1.2.10.
It worked fine for me with the exception that it kept the scanner awake. As long as my computer was on, the scanner light was on.
I didn't really see any settings that I could change.
Just installed wiasane in version 0.0.0.1 on my Windows 8.1 machine. After Installtion i see the new device "Scan Access Now Easy - WIA driver". In properties under the advanced tab i can't see my SANE scanner device. SANE Deamon is running currectly on my Linux VM.
What make I wrong?
I had to reset my scanner because it got wedged. When it came back, the SANE server recognized it and assigned it a new device. Prior to the reset, the device was "libusb:001:004". After the reset, the device was "libusb:001:005". The driver information window on my Win10 client allowed me to check the status of "libusb:001:005" on my server, but it wouldn't save the device name in it's settings. When I pressed the "ok" button in the Advanced tab of the Driver Properties window, the device name reverted to "libusb:001:004".
I'm getting error "wiasane.marc-hoersken.de’s server IP address could not be found." when trying to download latest release from download page.
How to add second scanner device without switch in device manager?
Thanks.
I have testet wiasane in windows7 64 bit Professional.
The installation was quick and simple.
My scanner is connected to a DebianSane Server.
All features of NAPS2 are working fine with my Canon Lide 110 scanner.
Microsoft Fax and Scan works too, but changing of color or brightness has no effect.
Is ist possibile to fix it?
Do other scanner models support this funktions?
regards
Since the device installation wizard already provides the functionality to specify username and password that are then stored within the device registry key, the following missing pieces need to be added:
The device management application (devsane.exe) should be enhanced to provide the following functionality:
On regular Windows 8.1 you get a failure on driver Installation with Error Code E000247.
The problem is Windows 8 and 8.1 imposes strict limitations on driver signing. Because of this, unsigned drivers require extra steps for installation. Disable Driver Signature Verification described here:
http://www.howtogeek.com/167723/how-to-disable-driver-signature-verification-on-64-bit-windows-8.1-so-that-you-can-install-unsigned-drivers/
NOTE: If you have used EaseUs Partition Master to resize your Windows 8 partitions, you might have problem to find the menu button "Troubleshoot". This is related to the partition type "recovery" which EaseUs Partition Master cannot handle properly. You lost all diag flag in partition and need to manually change these values again.
For other damaged parttions you can set the types with the corresponding IDs:
System: C12A7328-F81F-11D2-BA4B-00A0C93EC93B
OEM: BFBFAFE7-A34F-448A-9A5B-6213EB736C22
Reserved: E3C9E316-0B5C-4DB8-817D-F92DF00215AE
Primary is EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Hello,
I scanned with wiasane and sanetwain (http://sanetwain.ozuzo.net/). Sanetwain.exe scanned correctly but it's driver does not work for me. wiasane shows as a driver but the scanned image is scrambled. Seems that the image is received in blocks and they where placed at the wrong position.
Hi!
I try to add a network scanner with WiaSane, but I can't do it, because I get a message:
"Scanner session initialization failed."
My server is an OpenWRT router. I installed the sane-hs2p, sane-frontends, and my printer's driver (sane-xerox_mfp). I enabled uHTTPd service. That's work with on port 80.
Before I enabled the uHTTPd service, the WiaSane couldn't establish the connecton, but after I enabled the sevice, the program probably established the connection, because it didn't give me "Scanner session connect failed" error message, just "Scanner session initialization failed", so this problem it's probably another problem.
What's the solution?
I have a saned running in my network and can access it flawlessly from Linux machines. When setting up wiasane on an up-to-date "Windows 10 Home Version 1709" my device (Fujitsu ScanSnap iX500) is found and set up successfully. When I try to scan a document the "New Scan" dialog opens up, but when hitting "Scan" the error message "A problem prevented the document from being scanned. Please try again, or for troubleshooting information, see Help and Support or the information that came with the scanner." is shown.
I had a look at my server's log which does not seem to receive any request to saned because saned was not launched like it uses to when initiating a scan from a Linux machine.
winsane-dbg.exe does not produce any output.
Hello! Windows 10 default scanner has a pretty (for me) interface, but it's a little stupid: I can't select color mode in this app. And, if I don't set color mode in SANE, it will be gray as default. So, scanned image in Windows 10 Scanner is always gray. Maybe it will be better to set default color scheme while driver setup and later set mode directly in each query? Thanks
The property page logic needs to be implemented in a similiar way as the installation wizard.
Hi.
For some reason sane server does not enumerate hpaio:/net devices.
I can see devices on sane server via scanimage -L .
I can scan remotely via xsane if I use device name explicitly: xsane net:10.50.6.218:hpaio:/net/HP_LaserJet_Pro_MFP_M521dn?ip=10.166.203.1
But devices hpaio:/net/ are not in list in devsane.exe util.
So I need to put device name explicitly to device list in devsane.exe
I know - this is hplip\sane trouble, but it is possible to workaround it in wiasane/devsane.exe util.
Host: Ubuntu 16.04
Scanner HP Laser Jet M1220 MFP
Guest: Windows 10
If windows firewall is not disabled during installation process - connection to server fails "connection closed by remote host"
Once you disable windows firewall - installation succeeds.
After setup is complete - windows firewall can be enabled again and it does not affect actual scanning process, everything is working fine.
Follows with an error "could not load entry point" on some programs. After re-installing the libraries, it works awesome. happens on Win 8.1
AWESOME driver btw.
I tried to use wiasane on my home PCs (Win 8.1 32-bit and win 10 64-bit) with Samsung SCX-3400 as a network scanner source. On both machines I get error "Scanning failed. Please, try scan again..." without any codes or additional info after trying to start scanning throw any application, despite device check in "Advanced" tab of device configuration fdetects my scanner and says that it is OK.
Tried v0.1.2.10 and v0.1.1.9
After returning from Standby/Hibernate, scanning no longer works. Error: Could not connect.
Unloading and reloading the device driver helps.
the VC runtime shows a conflict and aborts the install
I am unable to scan with NAPS2 and Windows Scan.
Windows version 1803
Error from NAPS2:
NAPS2.Scan.Exceptions.ScanDriverUnknownException: An error occurred with the scanning driver. ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x8021000A
at WIA.CommonDialogClass.ShowTransfer(Item Item, String FormatID, Boolean CancelError)
at NAPS2.Scan.Wia.ForegroundWiaTransfer.<>c__DisplayClass2_0.b__1(WiaState wia)
at NAPS2.Scan.Wia.WiaBackgroundEventLoop.<>c__DisplayClass8_01.<GetSync>b__0(WiaState wia) at NAPS2.Scan.Wia.WiaBackgroundEventLoop.<>c__DisplayClass7_0.<DoSync>b__0() --- End of inner exception stack trace --- at NAPS2.Scan.Wia.WiaApi.ThrowDeviceError(COMException e) at NAPS2.Scan.Wia.WiaApi.ThrowDeviceError(Exception error) at NAPS2.Scan.Wia.WiaBackgroundEventLoop.DoSync(Action
1 action)
at NAPS2.Scan.Wia.WiaBackgroundEventLoop.GetSync[T](Func2 action) at NAPS2.Scan.Wia.ForegroundWiaTransfer.Transfer(Int32 pageNumber, WiaBackgroundEventLoop eventLoop, String format) at NAPS2.Scan.Wia.WiaScanDriver.TransferImage(WiaBackgroundEventLoop eventLoop, Int32 pageNumber, Boolean& cancel) at NAPS2.Scan.Wia.WiaScanDriver.<ScanInternal>d__13.MoveNext() at NAPS2.Scan.ScanPerformer.PerformScan(ScanProfile scanProfile, ScanParams scanParams, IWin32Window dialogParent, ISaveNotify notify, Action
1 imageCallback)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.