=
34.238.189.171

Daschmi's Notizblog

Logo des Etikators - Tool um online drucken von Etiketten für selbst angefertigte Tinkturen

Javascript Funktion um den RMS / Root Mean Square /Quadratisches Mittel einer Zahlenreihe als Array zu bestimmen

Erstellt in Javascript, Sonstiges am 16. August 2019

function(ar) {

	let sq = ar.map((v) => (v * v));
	let s = sq.reduce((a, v) => (a + v));
 
	return Math.sqrt(s / ar.length);
		
}

Kleine Hilfsfunktion um FILETIME in einen Unix TIMESTAMP zu konvertieren und umgekehrt

Erstellt in PHP am 6. August 2019

Für ein Projekt, bei der eine Kommunikation mit einem Windows Programm und einem Webserver stattfindet musste ich die im Windows bereich gebräuchlichen FILETIME Datumstypen (64Bit) in normale Unix TIMESTAMPS konvertieren. Folgende kleine Funktionen haben die Zeitstempel für mich konvertiert.

abstract Class TimestampHelper {

   public static function FILETIME_to_UNIXTIMESTAMP(float $filetime) : int {
            
      return $filetime / (10 * 1000 * 1000) - 11644473600;
            
   }
         
   public static function UNIXTIMESTAMP_to_FILETIME($timestamp) : int {
      
      return ($timestamp + 11644473600) * (10 * 1000 * 1000);
      
   }

}

Canvas und Rechtecke mit abgerundeten Ecken

Erstellt in Sonstiges am 31. Juli 2019

Für den Etikator brauchte ich eine kleine Funktion, die in der HTML5 Visualisierung runde Ecken darstellt. Diese habe ich mit dem Canvas Element und folgender Funktion realisiert:

function roundRect(ctx, x, y, w, h, r) {
   
   ctx.beginPath();
   ctx.moveTo(x + r, y);
   ctx.lineTo(x + w - r, y);
   ctx.quadraticCurveTo(x + w, y, x + w, y + r);
   ctx.lineTo(x + w, y + h - r);
   ctx.quadraticCurveTo(x + w, y + h, x + w - r, y + h);
   ctx.lineTo(x + r, y + h);
   ctx.quadraticCurveTo(x, y + h, x, y + h - r);
   ctx.lineTo(x, y + r);
   ctx.quadraticCurveTo(x, y, x + r, y);
   ctx.closePath();

}

PHP Funktion um HEX Farben in Dezimal RGB Farben zu zerlegen

Erstellt in PHP, Sonstiges am 18. März 2019

/**
 * @param string $hex #FF0000 oder FF0000
 * @param array $default
 * @return array
 */
public static function hex2rgb(string $hex, array $default = ['r' => 0, 'g' => 0, 'b' => 0]) : array {

  if (substr($hex, 0, 1) !== '#') $hex = '#'.$hex;
  if (!preg_match('/#([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?\b/', $hex)) return $default;

  $r = substr($hex, 1, 2); $r = hexdec($r);			
  $g = substr($hex, 3, 2); $g = hexdec($g);
  $b = substr($hex, 5, 2); $b = hexdec($b);

  return [
    'r' => $r,
    'g' => $g,
    'b' => $b
  ];

}

Composer Element mit Kategorieauswahl

Erstellt in Sonstiges, Wordpress am 28. Februar 2019

$categories_array = [];

foreach (\get_categories() as $category ) {

   $categories_array[html_entity_decode($category->name)] = $category->term_id;

} 

\vc_map([
   'name' => __('Beitragsfilteransicht 2', 'lhw'),
   'base' => 'm1_postfilter',
   'class' => '',
   'category' => 'M1',
   'params' => [
      [
         'param_name' => 'category_id',
         'type' => 'dropdown',
         'value' => $categories_array,
         'heading' => __('Category filter:', 'lhw'),
         'description' => '',
         'holder' => 'div',
         'class' => ''
      ]
   ]
]); 


Bitte genehmigen Sie die Verwendung von Cookies dieser Website! Mehr Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen