Physikerwelt has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/257326

Change subject: Add tools to extract images from MathObject
......................................................................

Add tools to extract images from MathObject

Change-Id: I1343ede69e9dc229812c08a78249c47d80d7280e
---
M MathObject.php
1 file changed, 45 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MathSearch 
refs/changes/26/257326/1

diff --git a/MathObject.php b/MathObject.php
index cd5be76..8dea00f 100644
--- a/MathObject.php
+++ b/MathObject.php
@@ -53,7 +53,7 @@
        }
 
        public static function cloneFromRenderer( MathRenderer $renderer ) {
-               $instance = new MathObject( $renderer->getTex() );
+               $instance = new MathObject( $renderer->getUserInputTex() );
                $instance->setMathml( $renderer->getMathml() );
                $instance->setSvg( $renderer->getSvg() );
                $instance->setMode( $renderer->getMode() );
@@ -491,4 +491,48 @@
                }
                return '';
        }
+
+       public function getSvgWidth() {
+               if ( preg_match( "/width=\"(.*?)(ex|px|em)?\"/", 
$this->getSvg(), $matches ) ) {
+                       return $matches;
+               }
+               return 0;
+       }
+
+       public function getSvgHeight() {
+               if ( preg_match( "/height=\"(.*?)(ex|px|em)?\"/", 
$this->getSvg(), $matches ) ) {
+                       return $matches;
+               }
+               return 0;
+       }
+
+       public function getReSizedSvgLink( $factor = 2 ) {
+               $width = $this->getSvgWidth();
+               $width = $width[1]*$factor.$width[2];
+               $height = $this->getSvgHeight();
+               $height = $height[1]*$factor.$height[2];
+               $reflector = new ReflectionObject( $this );
+               $method = $reflector->getMethod( 'getFallbackImage' );
+               $method->setAccessible( true );
+               $fbi =  $method->invoke( $this );
+               $fbi = preg_replace( "/width: (.*?)(ex|px|em)/", "width: 
$width", $fbi );
+               $fbi = preg_replace( "/height: (.*?)(ex|px|em)/", "height: 
$height", $fbi );
+               return $fbi;
+       }
+
+       public function getPngWidth() {
+               try{
+                       return getimagesizefromstring( $this->getPng() )[0];
+               } catch ( Exception $e ){
+                       return 0;
+               }
+       }
+
+       public function getPngHeight() {
+               try{
+                       return getimagesizefromstring( $this->getPng() )[0];
+               } catch ( Exception $e ){
+                       return 0;
+               }
+       }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/257326
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1343ede69e9dc229812c08a78249c47d80d7280e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MathSearch
Gerrit-Branch: master
Gerrit-Owner: Physikerwelt <w...@physikerwelt.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to