/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Tekst som ikke kan kopiere, hvordan gøres ~
Fra : Jakob Munck


Dato : 28-08-07 06:43

På denne php-side kan man læse, men ikke kopiere teksten, og der er ikke
tale om at teksten er omdannet til et grafisk billede:

http://www.litencyc.com/php/stopics.php?rec=true&UID=1595

Hvordan laves det?

v.h.
Jakob



 
 
Jacob Ask (28-08-2007)
Kommentar
Fra : Jacob Ask


Dato : 28-08-07 06:57

Jakob Munck wrote:
> På denne php-side kan man læse, men ikke kopiere teksten, og der er ikke
> tale om at teksten er omdannet til et grafisk billede:
>
> http://www.litencyc.com/php/stopics.php?rec=true&UID=1595
>
> Hvordan laves det?
>
> v.h.
> Jakob
>

Øhhh, jeg har ikke nogen problemer med at copy/paste tekst fra den side
(med FF uden nogen extentions der skulle gøre noget ved det).

Mvh
Jacob Ask

ShutEye (28-08-2007)
Kommentar
Fra : ShutEye


Dato : 28-08-07 07:08

>> På denne php-side kan man læse, men ikke kopiere teksten, og der er ikke
>> tale om at teksten er omdannet til et grafisk billede:
>>
>> http://www.litencyc.com/php/stopics.php?rec=true&UID=1595
>>
>> Hvordan laves det?

Sakset fra siden:

-----
<script type="text/javascript">

/***********************************************
* Disable select-text script- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

//form tags to omit in NS6+:
var omitformtags=["input", "textarea", "select"]

omitformtags=omitformtags.join("|")

function disableselect(e){
if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
return false
}

function reEnable(){
return true
}

if (typeof document.onselectstart!="undefined")
document.onselectstart=new Function ("return false")
else{
document.onmousedown=disableselect
document.onmouseup=reEnable
}
</script>
-----

> Øhhh, jeg har ikke nogen problemer med at copy/paste tekst fra den side
> (med FF uden nogen extentions der skulle gøre noget ved det).

Jeg bruger IE7 og kan heller ikke markere/kopiere.



Jakob Munck (28-08-2007)
Kommentar
Fra : Jakob Munck


Dato : 28-08-07 07:35

>
> /***********************************************
> * Disable select-text script- © Dynamic Drive (www.dynamicdrive.com)
> * This notice MUST stay intact for legal use
> * Visit http://www.dynamicdrive.com/ for full source code
> ***********************************************/
>


OK, det er noget Dynamic Drive-halløj.

Tak for det.

v.h.
Jakob



Jakob Munck (28-08-2007)
Kommentar
Fra : Jakob Munck


Dato : 28-08-07 07:32

>
> Øhhh, jeg har ikke nogen problemer med at copy/paste tekst fra den side
> (med FF uden nogen extentions der skulle gøre noget ved det).
>
> Mvh
> Jacob Ask

Med Internet Explorer kan jeg hverken markere eller kopiere noget af denne
tekst. Men jeg kan naturligvis vælge "Vis kilde" og finde teksten ud af alt
det jeg så får frem. Men der må være anvendt en særlig teknik for at gøre
marker og kopier med IE umulig.

Hvilken?

v.h.
Jakob



Bertel Lund Hansen (28-08-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-08-07 08:15

Jakob Munck skrev:

> På denne php-side kan man læse, men ikke kopiere teksten

Opera og FF har ingen problemer. Hvor interessant er det så? Og
hvad skulle formålet være andet end at genere brugerne?

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Philip Nunnegaard (28-08-2007)
Kommentar
Fra : Philip Nunnegaard


Dato : 28-08-07 12:13

Er der noget, der pisser mig af, så er det hjemmesider, hvor man ikke kan
markere teksten.
For det første, så bruger jeg det af og til til at markere, hvor jeg er nået
til, hvis jeg f.eks. sidder og multitasker, eller mine øjne bare er for
trætte til at følge linien.

For det andet føler jeg mig umyndiggjort, hvis en hjemmeside forsøger at
lave om på helt bassale windows-funktioner på MIN computer.
Jeg kommer sjældent tilbage til den slags hjemmesider. Næste side er kun et
klik væk.


Jesper Staun Hansen (28-08-2007)
Kommentar
Fra : Jesper Staun Hansen


Dato : 28-08-07 12:57

Jakob Munck wrote:
> På denne php-side kan man læse, men ikke kopiere teksten, og der er ikke
> tale om at teksten er omdannet til et grafisk billede:
>
> http://www.litencyc.com/php/stopics.php?rec=true&UID=1595
>
> Hvordan laves det?
>
> v.h.
> Jakob
>
>

Kig på GDlib http://dk2.php.net/gd

F.eks.
<?php
// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im); // Denne smider billedet til browseren
imagedestroy($im); // Frigiv hukommelse
?>

Giver noget lignende:
http://dk2.php.net/manual/en/figures/image.imagettftext.png
Du kan bruge \n i $text = 'testing...\ntesting...\n';
Bare husk at have et stort nok billede (imagecreatetruecolor)

Evt. dette eksempel:

==========
Left Right Center align/justify of text in image. It is easy and simple
to do in PHP.
Create an image from text and align them as you want. After that save or
display image.

<?php
/**
* Function for converting Text to Image.
* Kip CENTURY.TTF file in same folder.
*
* @author Taslim Mazumder Sohel
* @deprecated 1.0 - 2007/08/03
*
*/
//Example call.
$str = "New life in programming.\nNext Line of Image.\nLine Number
3\n" .
"This is line numbet 4\nLine number 5\nYou can write as you
want.";
header("Content-type: image/gif");
imagegif(imagettfJustifytext($str,"CENTURY.TTF",2));
//End of example.


/**
* @name : makeImageF
*
* Function for create image from text with selected font. Justify
text in image (0-Left, 1-Right, 2-Center).
*
* @param String $text : String to convert into the Image.
* @param String $font : Font name of the text. Kip font file
in same folder.
* @param int $W : Width of the Image.
* @param int $H : Hight of the Image.
* @param int $X : x-coordinate of the text into the image.
* @param int $Y : y-coordinate of the text into the image.
* @param int $fsize : Font size of text.
* @param array $color : RGB color array for text color.
* @param array $bgcolor : RGB color array for background.
*
*/
function imagettfJustifytext($text, $font="CENTURY.TTF",
$Justify=2, $W=0, $H=0, $X=0, $Y=0, $fsize=12,
$color=array(0x0,0x0,0x0), $bgcolor=array(0xFF,0xFF,0xFF)){

$angle = 0;
$L_R_C = $Justify;
$_bx = imageTTFBbox($fsize,0,$font,$text);

$W = ($W==0)?abs($_bx[2]-$_bx[0]):$W; //If Height not
initialized by programmer then it will detect and assign perfect height.
$H = ($H==0)?abs($_bx[5]-$_bx[3]):$H; //If Width not
initialized by programmer then it will detect and assign perfect width.

$im = @imagecreate($W, $H)
or die("Cannot Initialize new GD image stream");


$background_color = imagecolorallocate($im, $bgcolor[0],
$bgcolor[1], $bgcolor[2]); //RGB color background.
$text_color = imagecolorallocate($im, $color[0], $color[1],
$color[2]); //RGB color text.

if($L_R_C == 0){ //Justify Left

imagettftext($im, $fsize, $angle, $X, $fsize, $text_color,
$font, $text);

}elseif($L_R_C == 1){ //Justify Right
$s = split("[\n]+", $text);
$__H=0;

foreach($s as $key=>$val){

$_b = imageTTFBbox($fsize,0,$font,$val);
$_W = abs($_b[2]-$_b[0]);
//Defining the X coordinate.
$_X = $W-$_W;
//Defining the Y coordinate.
$_H = abs($_b[5]-$_b[3]);
$__H += $_H;
imagettftext($im, $fsize, $angle, $_X, $__H,
$text_color, $font, $val);
$__H += 6;

}

}
elseif($L_R_C == 2){ //Justify Center

$s = split("[\n]+", $text);
$__H=0;

foreach($s as $key=>$val){

$_b = imageTTFBbox($fsize,0,$font,$val);
$_W = abs($_b[2]-$_b[0]);
//Defining the X coordinate.
$_X = abs($W/2)-abs($_W/2);
//Defining the Y coordinate.
$_H = abs($_b[5]-$_b[3]);
$__H += $_H;
imagettftext($im, $fsize, $angle, $_X, $__H,
$text_color, $font, $val);
$__H += 6;

}

}

return $im;

}


?>


Jakob Munck (28-08-2007)
Kommentar
Fra : Jakob Munck


Dato : 28-08-07 15:47

Tak for svarene

jakob



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste