Du bist nicht angemeldet. [Anmelden]
Optionen
Thema bewerten
Profilbilder verkleinern (kcode) - #2825986 - 05.12.2016, 14:56:07
Senzious
Nicht registriert


Hallo,

ich möchte ein Benutzer Profilbild so verkleinern können, das ich die Größe mit KCode selber bestimmen kann. (w_, h_).

Wenn ich das per user.getProfilePhoto(size) ausgeben lasse, ist mir das Bild zu groß. (auch die kleinste size)

Gibt's da eine Möglichkeit?

Mit freundlichen Grüßen,
Senzious

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: ] - #2825997 - 05.12.2016, 16:31:41
Vampiric Desire
​ChannelMaster

Registriert: 15.09.2013
Beiträge: 1.681
Du hast es ja schon selbst erkannt. Du musst die w_ und h_ angabe mit in die URL packen.
Da solltest du mit Substring dir den String bis vorm .jpg holen und dann die Angaben dranhängen
_________________________
/apps install 30559674.ChannelMaster

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: ] - #2825999 - 05.12.2016, 16:42:10
IgelchenM
​Laubhaufenbewohner

Registriert: 10.02.2005
Beiträge: 1.479
Ort: Bochum
Hey, wie mein Vorposter bereits richtig erwähnt hat, gibt es die Möglichkeiten mit kCode zu arbeiten. Dafür ist es unabdingbar alles vor dem .JPG in einen Teilstring zu packen.

Zu beachten gilt, dass w_ und h_ nur den Containerbereich des Bildes angeben. Mit rmw_ und rmh_ können bessere Ergebnisse erzielt werden. Was auch wichtig ist, dass einige Plattformen die Manipulation von Bildern nicht richtig darstellen - diese also ignorieren. Nähere Informationen findest du hier im Entwickler-Wiki.
_________________________
Wo zum Teufel ist dieser Wayne wenn man ihn braucht?!

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: Vampiric Desire] - #2826008 - 05.12.2016, 18:13:22
Senzious
Nicht registriert


Dachte ich mir schon aber wie kann ich es umsetzen? Da komm ich einfach nicht weiter.

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: ] - #2826040 - 05.12.2016, 20:36:26
UltimateG4ming
​#WirSindKeineBots

Registriert: 15.06.2010
Beiträge: 4.024
Php Code:
let userProfilePic = "";
if (user.hasProfilePhoto()) {
   userProfilePic = user.getProfilePhoto(20, 20);
   let userProfilePicParts = userProfilePic.split('.');
   let extension = userProfilePicParts[userProfilePicParts.length-1];
   userProfilePic = userProfilePic.replace("."+extension, '');

   userProfilePic = "°>" + userProfilePic + "...rmh_20.rmw_20.h_20.w_20." + extension + "<° ";
} 


Sehr primitiv, aber funktionsfähig. Hier exemplarisch eine Bildgröße von nicht mehr als 20x20 Pixel.
_________________________
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: UltimateG4ming] - #2826046 - 05.12.2016, 21:09:57
Senzious
Nicht registriert


Antwort auf: Dreamboy-1996 <3
Php Code:
let userProfilePic = "";
if (user.hasProfilePhoto()) {
   userProfilePic = user.getProfilePhoto(20, 20);
   let userProfilePicParts = userProfilePic.split('.');
   let extension = userProfilePicParts[userProfilePicParts.length-1];
   userProfilePic = userProfilePic.replace("."+extension, '');

   userProfilePic = "°>" + userProfilePic + "...rmh_20.rmw_20.h_20.w_20." + extension + "<° ";
} 


Sehr primitiv, aber funktionsfähig. Hier exemplarisch eine Bildgröße von nicht mehr als 20x20 Pixel.


Ich hab das eben in die onUserJoined eingefügt und versucht mit user.sendPrivateMessage(userProfilePic) auszugeben. Leider erscheint kein Profilbild.

Ohne °><° bekomme ich folgendes: https://cdn.knuddelscom.de/knuddels.de/s....h_20.w_20..img


Bearbeitet von Senzious (05.12.2016, 21:14:09)

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: ] - #2826083 - 06.12.2016, 08:09:47
Bizarrus
Nicht registriert


Solltest du Probleme haben, die Properties richtig zu setzen, kannst du auch die KImage-Klasse (JS-Klasse, Dokumentation) aus dem Framework zur Hand nehmen. Da sparst du dir auch das manuelle parsen der Extension & co.

Der Code würde dann wie folgt aussehen:
Code:
var picture = new KImage(user.getProfilePhoto(20, 20));
picture.setSize(20, 20); // Einzelangaben könnten auch mit setWidth()/setHeight() geschehen

user.sendPrivateMessage(picture);


Auch kannst du das Quadcut setzen, der das Bild anhand der Größe croppt:
Code:
picture.setQuadcut(20);


Bedenke, dass die Image-Stylesheets nur im Applet funktionieren, bedingt vielleicht auf anderen Clienten.

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: ] - #2826094 - 06.12.2016, 10:25:25
Vampiric Desire
​ChannelMaster

Registriert: 15.09.2013
Beiträge: 1.681
Antwort auf: Senzious
Antwort auf: Dreamboy-1996 <3
Php Code:
let userProfilePic = "";
if (user.hasProfilePhoto()) {
   userProfilePic = user.getProfilePhoto(20, 20);
   let userProfilePicParts = userProfilePic.split('.');
   let extension = userProfilePicParts[userProfilePicParts.length-1];
   userProfilePic = userProfilePic.replace("."+extension, '');

   userProfilePic = "°>" + userProfilePic + "...rmh_20.rmw_20.h_20.w_20." + extension + "<° ";
} 


Sehr primitiv, aber funktionsfähig. Hier exemplarisch eine Bildgröße von nicht mehr als 20x20 Pixel.


Ich hab das eben in die onUserJoined eingefügt und versucht mit user.sendPrivateMessage(userProfilePic) auszugeben. Leider erscheint kein Profilbild.

Ohne °><° bekomme ich folgendes: https://cdn.knuddelscom.de/knuddels.de/sen/senzious-pro0msq0p.img?cnt=70&.img...rmh_20.rmw_20.h_20.w_20..img



In der URL sind ZWEI Punkte vor der extension
_________________________
/apps install 30559674.ChannelMaster

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: ] - #2826112 - 06.12.2016, 14:39:08
Senzious
Nicht registriert


Vorerst erstmal ein herzliches Dankeschön für eure Mühe & Hilfestellungen!

Antwort auf: Bizarrus
Solltest du Probleme haben, die Properties richtig zu setzen, kannst du auch die KImage-Klasse (JS-Klasse, Dokumentation) aus dem Framework zur Hand nehmen. Da sparst du dir auch das manuelle parsen der Extension & co.

Der Code würde dann wie folgt aussehen:
Code:
var picture = new KImage(user.getProfilePhoto(20, 20));
picture.setSize(20, 20); // Einzelangaben könnten auch mit setWidth()/setHeight() geschehen

user.sendPrivateMessage(picture);


Auch kannst du das Quadcut setzen, der das Bild anhand der Größe croppt:
Code:
picture.setQuadcut(20);


Bedenke, dass die Image-Stylesheets nur im Applet funktionieren, bedingt vielleicht auf anderen Clienten.


Ich habe mir nun eine Datei namens kimage.js erstellt, in der main.js included (required) aber ich bekomme folgenden Error:

Html:
ERROR: org.mozilla.javascript.EcmaError: ReferenceError: "StringBuffer" is not defined. (knuddelsDEV.@v0: kimage.js#107)
	at knuddelsDEV@v0: kimage.js:107 (toString)
	at knuddelsDEV@v0: main.js:9


main.js:
Code:


	var App = (new function() {
		
		this.onUserJoined = function(user) {
			
			var picture = new KImage(user.getProfilePhoto(20, 20));
			picture.setSize(20, 20);
			user.sendPrivateMessage('°>' + picture + '<°');
			
		};	
		
	}());
	
	require('kimage.js');


Wie binde ich denn das KFramework in meine App ein?

Antwort auf: Vampiric Desire
In der URL sind ZWEI Punkte vor der extension


Ändert leider nichts. Außerdem wird das Bild ja anstendig im Browser dargestellt. Ich versteh nicht so ganz, warum man Profilbilder nur maximal auf 100x100 verkleinern kann.


Bearbeitet von Senzious (06.12.2016, 14:40:19)

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: ] - #2827450 - 18.12.2016, 16:30:48
Senzious
Nicht registriert


Ich benötige weiterhin hilfe... Bitte leute..

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: ] - #2827622 - 19.12.2016, 22:10:24
chwzr
Forumuser

Registriert: 30.11.2016
Beiträge: 10
hey eine hand wäscht die andere,

hab das mal ausprobiert bzw weiß ich wie du das framework einbindest..
geh auf

KFramwork auf Git

lad dir das ganze Paket runter als .zip. oder nutze die git app ums runterzuladen. Da drinn ist ein ordner "framework" den kopierst du komplett in dein Arbeitsverzeichnis der App..

einbinden kannst du das komplette Framework dann mit : require('framework/KFramework.js');

und zu deinem problem. hier eine main.js die damit dann ein profilbild schickt in größe 20x20 bei betreten des channel..

Code:
	var App = (new function() {
		
		require('framework/KFramework.js');
		
		this.onUserJoined = function(user) {
			
			var picture = new KImage(user.getProfilePhoto(200, 200));
			picture.setContainerSize(20, 20);
			picture.setSize(20, 20);
			user.sendPrivateMessage('Hübsches Foto! ' + picture + '... das ist echt super!');
			
			
		};	
		
	}());
	



den Knuddel Code um das Bild anzuzeigen und zu resizen erzeugt da komplett das Framework.

viel spaß mit deinen kleinen Bildchen! :)

grüße chwzr

[zum Seitenanfang]  
Re: Profilbilder verkleinern (kcode) [Re: chwzr] - #2827628 - 19.12.2016, 22:47:26
Senzious
Nicht registriert


Vielen herzlichen Dank an alle die mir geholfen haben, vorallem IgelchenM! Er hat sich die Zeit genommen und mir genau das gegeben, was ich wollte :-)

Problem gelöst! *puh

[zum Seitenanfang]  


Moderator(en):  Plueschzombie