RGB to HSL conversion

I’ve been reading several wiki pages and checking different calculations, and creating visualizations of RGB cube projection onto a hexagon. And I’d like to post my understanding of this conversion. Since I find this conversion (representations of color models using geometric shapes) interesting, I’ll try to be as thorough as I can be. First, let’s … Read more

Built-in WPF IValueConverters

I did a quick trawl using the Object Browser and this is what I have. Derived from IValueConverter: System.Windows.Controls.AlternationConverter System.Windows.Controls.BooleanToVisibilityConverter System.Windows.Documents.ZoomPercentageConverter System.Windows.Navigation.JournalEntryListConverter Xceed.Wpf.DataGrid.Converters.CurrencyConverter Xceed.Wpf.DataGrid.Converters.DateTimeToStringConverter Xceed.Wpf.DataGrid.Converters.GreaterThanZeroConverter Xceed.Wpf.DataGrid.Converters.IndexToOddConverter Xceed.Wpf.DataGrid.Converters.IntAdditionConverter Xceed.Wpf.DataGrid.Converters.InverseBooleanConverter Xceed.Wpf.DataGrid.Converters.LevelToOpacityConverter Xceed.Wpf.DataGrid.Converters.MultimodalResultConverter Xceed.Wpf.DataGrid.Converters.NegativeDoubleConverter Xceed.Wpf.DataGrid.Converters.NullToBooleanConverter Xceed.Wpf.DataGrid.Converters.SourceDataConverter Xceed.Wpf.DataGrid.Converters.StringFormatConverter Xceed.Wpf.DataGrid.Converters.ThicknessConverter Xceed.Wpf.DataGrid.Converters.TypeToBooleanConverter Xceed.Wpf.DataGrid.Converters.TypeToVisibilityConverter Xceed.Wpf.DataGrid.Converters.ValueToMaskedTextConverter Derived from IMultiValueConverter: System.Windows.Controls.BorderGapMaskConverter System.Windows.Navigation.JournalEntryUnifiedViewConverter System.Windows.Controls.MenuScrollingVisibilityConverter Microsoft.Windows.Themes.ProgressBarBrushConverter Microsoft.Windows.Themes.ProgressBarHighlightConverter Note the Xceed ones (no connection) are available free … Read more

Correct way to convert size in bytes to KB, MB, GB in JavaScript

From this: (source) Unminified and ES6’ed: (by the community) function formatBytes(bytes, decimals = 2) { if (!+bytes) return ‘0 Bytes’ const k = 1024 const dm = decimals < 0 ? 0 : decimals const sizes = [‘Bytes’, ‘KB’, ‘MB’, ‘GB’, ‘TB’, ‘PB’, ‘EB’, ‘ZB’, ‘YB’] const i = Math.floor(Math.log(bytes) / Math.log(k)) return `${parseFloat((bytes / … Read more