I'm trying to draw something in a System.Windows.Media.DrawingVisual but I need to draw thins in millimeter unit. How can I do that?
How to draw something in DrawingVisual with millimeter unit instead of pixels?
874 Views Asked by Ahmadali Shafiee At
1
There are 1 best solutions below
Related Questions in C#
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in WPF
- WPF MessageBox Cancel checkbox check
- WPF multiple control property simultaneous changes
- ObservableCollection.CollectionChanged does not select the correct DataTemplate on ToolBar
- Telerik's WPF RadColorPicker NoColorText property not working
- How to automate UI interaction during acceptance test run
- Binding to "this.property" object in VisualStateMenager
- ContextMenu Closes Immediately
- Update ObservableCollection where the items are received from another List
- change content button with trigger
- WPF - How to highlight a combobox border when focused
- Wpf No Highlight on ListBoxItem for Touch Devices
- WPF WebBrowser how best to get Tag trees
- Make a class suitable for Property Change Notification
- WPF Comparing two datatables to find matching values
- how to create folder and file with datetime in wpf application
Related Questions in PRINTING
- How to send ESC/POS commands to thermal printer in Linux
- JTable Printing. How to set page breaks programmatically?
- Why do print and echo behave differently in a "for" loop
- Is there a way to limit the html page to a particular page size?
- How to execute keybord shortcut CTRL + P by clicking a link using jquery
- Chrome print preview disable only link location in footer and header
- C program doesn't print
- how to print a receipt to a particular printer
- How to print Jasper reports from servlets?
- Is it possible to print web content on thermal printer?
- How to print the HTML in Java
- How to get a response of file printing job to user from printer using CUPS in linux
- Android PrintManager get callback
- Business card height and width in pixels on web?
- Microsoft Dynamics Ax 2012 R2 run time issue
Related Questions in DRAWINGVISUAL
- How to draw something in DrawingVisual with millimeter unit instead of pixels?
- Windows update KB4040972/73 causes black images with WPF classes
- Performance of Shapes versus DrawingVisual
- RenderTargetBitmap is always anti-aliasing my DrawingVisual
- Is the a MVVM WPF way to implement DrawingVisual based on an ObservableCollection
- Multiple thread image compositing
- DrawText at an angle in DrawingContext?
- How to make DrawingVisual objects in C# have unique Pen Brush colour, but share the same thickness
- How to add WPF FrameworkElements and DrawingVisuals to the same canvas
- Lazy Rendering of DrawingVisual
- WPF keyboard events not firing for FrameworkElement subclass with only visuals
- Scheme for tracking DrawingVisual in WPF DrawingVisual
- Displaying Both VisualCollection and UIElements
- WPF Canvas, Framework element has red border
- Width and Height of the Image in RenderTargetBitmap in WPF
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
In WPF, you can't even draw something in pixel units without at least some extra effort. WPF uses "device independent units" where each unit is 1/96th of an inch. Even that is only a theoretical relationship, as it depends on the display device correctly reporting its resolution, which in turn is dependent on the display, its configuration, and what the user has set e.g. in the "large fonts" setting (i.e. in the screen resolution settings, clicking the link that reads "Make text and other items larger or smaller").
All of these affect WPF's interpretation of the available display resolution information, which in turn affect how WPF chooses to render its "device independent" 1/96th of a inch units.
The bottom line is that the link commenter Sheridan offered really is the closest you can come to displaying in millimeters, barring a lot of extra work and help from the user. By scaling your input units, intended as millimeters, by the
factorvalue provided (i.e.96/ 25.4…in the expression, you can see the25.4to convert from millimeters to inches, then the96that converts inches to 1/96ths of an inch), you can convert your millimeters into the 96 dpi units that WPF uses natively.Assuming the display is configured correctly (an optimistic assumption, but it does happen :) ), this will result in reasonably accurate presentation on the screen according to your desired millimeter-based dimensions.
Note that you can accomplish this scaling through the use of a transform on your rendered UI elements. The easiest thing to do would be to set the
LayoutTransformproperty of the outer-most container object where you want the millimeter-based rendering. Then you can just lay out your objects in that container using the millimeters values for their location and size, and WPF will use the transform to present the container and the rendered objects within at the scale you want.