Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 129
Gehe zum ersten neuen Beitrag Hamachi deinstallieren
Aufrufe: 58, Antworten: 5
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 187
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24.04.2011, 21:58   #16 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 03.01.2010
Ort: Saarland
Beiträge: 103
Standard

Hallo Andreas,
sieht gut aus .
Setrop2 ist aber flexibler. Durch die verschiedenen Modi kann man
mehr Effekte erzielen.
Beispielsweise müßte das Verschieben eines gerade gezeichneten Bereichs
auch machbar sein.
Ralph Theobald ist offline   Mit Zitat antworten
Alt 24.04.2011, 23:18   #17 (Direktlink)
Stammuser
 
Benutzerbild von Andreas Miethe
 
Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
Standard

Zitat:
Zitat von Ralph Theobald Beitrag anzeigen
Hallo Andreas,
sieht gut aus .
Setrop2 ist aber flexibler. Durch die verschiedenen Modi kann man
mehr Effekte erzielen.
Beispielsweise müßte das Verschieben eines gerade gezeichneten Bereichs
auch machbar sein.
Hallo Ralph,

dann musst Du mit Regionen arbeiten.
__________________
Gruss
Andreas

______________________
http://www.ampsoft.eu

Profan 3.3 - XProfanX2
Windows 95,98,ME,2000,XP
Vista - Windows 7 32 / 64 Bit

ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher

Geändert von Andreas Miethe (25.04.2011 um 11:39 Uhr)
Andreas Miethe ist offline   Mit Zitat antworten
Alt 25.04.2011, 09:39   #18 (Direktlink)
Stammuser
 
Benutzerbild von Andreas Miethe
 
Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
Standard

Zitat:
Zitat von Ralph Theobald Beitrag anzeigen
Wie kann man im letzten Beispiel von Andreas die Füllung
halbtransparent machen
Man kann

Code:
$H Windows.ph
$H Messages.ph

Windowstyle 520
cls
'Pfad anpassen
Loadbmp "Creek.jpg",0,0;0

Struct GdiplusStartupInput = GdiplusVersion&,DebugEventCallback&,SuppressBackgroundThread&,SuppressExternalCodecs&
Struct RECT = left&,top&,right&,bottom&
Declare Ende&,startx&,starty&
Var R# = New(RECT)

Usermessages ~WM_LBUTTONDOWN,~WM_RBUTTONDOWN,~WM_MOUSEMOVE,~WM_LBUTTONUP

Var GDIPlus& = ImportDll("GDIPLUS.DLL","")
Var GDIPlusToken& = InitGdiPlus()
Var Canvas& = 0
Var RedPen& = 0
Var BrushObject& = 0
GdipCreateFromHDC(%hdc,ADDR(Canvas&))'alle Graphics-Operationen auf %HDC
'semitransparenten Brush anlegen
GdipCreateSolidFill(MakeColor(128,192,192,192),Addr(BrushObject&))


Whilenot Ende&
  WaitInput
  If %key= 2
    Ende& = 1
  Endif
  If %UMessage = ~WM_LBUTTONDOWN
    Usebrush 0,0
    Usepen 0,2,$0000FF
    startx&=Loword(&ULParam)
    starty&=HiWord(&ULParam)
    ~SetRect(R#,0,0,0,0)
  ElseIf (%UMessage = ~WM_MOUSEMOVE) and (&UWParam = ~MK_LBUTTON)
    
    IfNot ~IsRectEmpty(r#)
      ~BitBlt(%hdc,R#.Left&-1,R#.Top&-1,R#.right&+2-r#.left&,R#.bottom&+2-r#.top&,%hdc2,R#.Left&-1,R#.Top&-1,~SRCCOPY)
    endif
    
    'Richtung ermitteln
    '##################
    if (startx& < LOWORD(&ulParam)) AND (starty& > HIWORD(&ulParam))
      ~SetRect(R#,startx&,HIWORD(&ulParam),LOWORD(&ulParam),starty&)
    elseif (startx& > LOWORD(&ulParam)) and (starty& > HIWORD(&ulParam))
      ~SetRect(R#,LOWORD(&ulParam),HIWORD(&ulParam),startx&,starty&)
    elseif (startx& > LOWORD(&ulParam)) AND (starty& < HIWORD(&ulParam))
      ~SetRect(R#,LOWORD(&ulParam),starty&,startx&,HIWORD(&ulParam))
    else
      ~SetRect(R#,startx&,starty&, LOWORD(&ulParam),HIWORD(&ulParam))
    endif
    
    ~Rectangle(%hdc,R#.Left&,R#.Top&,R#.right&,R#.bottom&)
    GdipFillRectangleI(Canvas&,BrushObject&,R#.Left&,R#.Top&,R#.right&-R#.Left&,R#.bottom&-R#.Top&)
    
  elseif %UMessage = ~WM_LBUTTONUP
    '###################
    'HDC2 überschreiben
    '###################
    Rectangle R#.Left&,R#.Top& - R#.right&,R#.bottom&
    Repaint
  Endif
EndWhile
GdipDeleteBrush(BrushObject&)
GdipDeleteGraphics(Canvas&)
ExitGDIPlus(gdiplusToken&)
End

Proc InitGDIPlus
  Declare gdiplusToken&
  Var gdpsi# = New(GdiplusStartupInput)
  gdpsi#.GdiplusVersion& = 1
  gdpsi#.DebugEventCallback& = 0
  gdpsi#.SuppressBackgroundThread& = 0
  gdpsi#.SuppressExternalCodecs& = 0
  GdiplusStartup(ADDR(gdiplusToken&),gdpsi#,0)
  Dispose gdpsi#
  Return gdiplusToken&
EndProc

Proc ExitGDIPlus
  Parameters gdiplusToken&
  GdiplusShutdown(gdiplusToken&)
  FreeDLL GDIPlus&
Endproc

Proc MakeColor
  Parameters a&,r&,g&,b&
  Declare Result&
  Result& = b& | g& << 8 | r& << 16 | a& << 24
  Return Result&
EndProc
__________________
Gruss
Andreas

______________________
http://www.ampsoft.eu

Profan 3.3 - XProfanX2
Windows 95,98,ME,2000,XP
Vista - Windows 7 32 / 64 Bit

ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher
Andreas Miethe ist offline   Mit Zitat antworten
Alt 25.04.2011, 11:29   #19 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Zitat:
Noch ein Gummiband, gefällt mir fast am besten, da sichtbarer.
Stimmt, mal ganz was Anderes.
%hdc2 ist eh immer eine schöne Sache.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist gerade online   Mit Zitat antworten
Alt 25.04.2011, 12:07   #20 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 03.01.2010
Ort: Saarland
Beiträge: 103
Standard

Hallo Andreas,

sieht hervorragend aus.

Bei Autocad wird sowas zum Markieren benutzt.
Ralph Theobald ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 25.04.2011, 12:37   #21 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 03.01.2010
Ort: Saarland
Beiträge: 103
Standard

Habe ein wenig mit dem Halbtransparenten Beispiel rumgespielt.
Ellipsen etc sind kein Problem. Gibt es im GDIPlus eine Entsprechung zu setprop2 ?
Eine Funktion um die Kopiermodi einzustellen.
Ralph Theobald ist offline   Mit Zitat antworten
Alt 25.04.2011, 17:36   #22 (Direktlink)
Stammuser
 
Benutzerbild von Andreas Miethe
 
Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
Standard

Zitat:
Zitat von Ralph Theobald Beitrag anzeigen
Habe ein wenig mit dem Halbtransparenten Beispiel rumgespielt.
Ellipsen etc sind kein Problem. Gibt es im GDIPlus eine Entsprechung zu setprop2 ?
Eine Funktion um die Kopiermodi einzustellen.
Da bin ich ehrlich gesagt überfragt.
Auf jeden Fall bietet GDI+ sehr viele Möglichkeiten.
__________________
Gruss
Andreas

______________________
http://www.ampsoft.eu

Profan 3.3 - XProfanX2
Windows 95,98,ME,2000,XP
Vista - Windows 7 32 / 64 Bit

ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher
Andreas Miethe ist offline   Mit Zitat antworten
Alt 25.04.2011, 20:31   #23 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 03.01.2010
Ort: Saarland
Beiträge: 103
Standard

Vielleicht
graphics.SetCompositingMode(CompositingModeSourceOver);

Ich kann aber den Wert für CompositingModeSourceOver nirgends
finden .
Vielleicht hat ja einer die GDIP Headerdateien , in der der Wert drinsteht.
Ralph Theobald ist offline   Mit Zitat antworten
Alt 25.04.2011, 20:51   #24 (Direktlink)
Stammuser
 
Benutzerbild von Andreas Miethe
 
Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
Standard

Zitat:
Zitat von Ralph Theobald Beitrag anzeigen
Vielleicht
graphics.SetCompositingMode(CompositingModeSourceOver);

Ich kann aber den Wert für CompositingModeSourceOver nirgends
finden .
Vielleicht hat ja einer die GDIP Headerdateien , in der der Wert drinsteht.
Könnte auch CombineMode sein, da gibt es zumindest ein XOR

Code als PH speichern, dann hast Du eine Header-Datei.

Code:
GdiplusStartupInput = GdiplusVersion&,DebugEventCallback&,SuppressBackgroundThread&,SuppressExternalCodecs&;

'Encoder-Parameters
EncoderCompression      = "{e09d739d-ccd4-44ee-8eba-3fbf8be4fc58}";
EncoderColorDepth       = "{66087055-ad66-4c7c-9a18-38a2310b8337}";
EncoderScanMethod       = "{3a4e2661-3109-4e56-8536-42c156e7dcfa}";
EncoderVersion          = "{24d18c76-814a-41a4-bf53-1c219cccf797}";
EncoderRenderMethod     = "{6d42c53a-229a-4825-8bb7-5c99e2b9a8b8}";
EncoderQuality          = "{1d5be4b5-fa4a-452d-9cdd-5db35105e7eb}";
EncoderTransformation   = "{8d0eb2d1-a58e-4ea8-aa14-108074b7b6f9}";
EncoderLuminanceTable   = "{edb33bce-0266-4a77-b904-27216099e717}";
EncoderChrominanceTable = "{f2e455dc-09b3-4316-8260-676ada32481c}";
EncoderSaveFlag         = "{292266fc-ac40-47bf-8cfc-a85b89a655de}";

'Image file format identifiers
ImageFormatUndefined    = "{b96b3ca9-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatMemoryBMP    = "{b96b3caa-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatBMP          = "{b96b3cab-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatEMF          = "{b96b3cac-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatWMF          = "{b96b3cad-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatJPEG         = "{b96b3cae-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatPNG          = "{b96b3caf-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatGIF          = "{b96b3cb0-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatTIFF         = "{b96b3cb1-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatEXIF         = "{b96b3cb2-0728-11d3-9d7b-0000f81ef32e}";
ImageFormatIcon         = "{b96b3cb5-0728-11d3-9d7b-0000f81ef32e}";

'RotateFlipTypes
RotateNoneFlipNone = 0;
Rotate90FlipNone   = 1;
Rotate180FlipNone  = 2;
Rotate270FlipNone  = 3;
RotateNoneFlipX    = 4;
Rotate90FlipX      = 5;
Rotate180FlipX     = 6;
Rotate270FlipX     = 7;

'Quality Modes
QualityModeInvalid   = -1;
QualityModeDefault   =  0;
QualityModeLow       =  1;
QualityModeHigh      =  2;

'Interpolation Modes
InterpolationModeInvalid             = ~QualityModeInvalid;
InterpolationModeDefault             = ~QualityModeDefault;
InterpolationModeLowQuality          = ~QualityModeLow;
InterpolationModeHighQuality         = ~QualityModeHigh;
InterpolationModeBilinear            = 3;
InterpolationModeBicubic             = 4;
InterpolationModeNearestNeighbor     = 5;
InterpolationModeHighQualityBilinear = 6;
InterpolationModeHighQualityBicubic  = 7;

'Smooting Modes
SmoothingModeInvalid     = ~QualityModeInvalid;
SmoothingModeDefault     = ~QualityModeDefault;
SmoothingModeHighSpeed   = ~QualityModeLow;
SmoothingModeHighQuality = ~QualityModeHigh;
SmoothingModeNone        = 3;
SmoothingModeAntiAlias   = 4;

'Units
UnitWorld      = 0;' -- World coordinate (non-physical unit)
UnitDisplay    = 1;' -- Variable -- for PageTransform only
UnitPixel      = 2;' -- Each unit is one device pixel.
UnitPoint      = 3;' -- Each unit is a printer's point, or 1/72 inch.
UnitInch       = 4;' -- Each unit is 1 inch.
UnitDocument   = 5;' -- Each unit is 1/300 inch.
UnitMillimeter = 6;' -- Each unit is 1 millimeter.

'Region Combine Modes
CombineModeReplace    = 0;
CombineModeIntersect  = 1;
CombineModeUnion      = 2;
CombineModeXor        = 3;
CombineModeExclude    = 4;
CombineModeComplement = 5;

'Encoder-Enums
EncoderValueColorTypeCMYK            = 0;
EncoderValueColorTypeYCCK            = 1;
EncoderValueCompressionLZW           = 2;
EncoderValueCompressionCCITT3        = 3;
EncoderValueCompressionCCITT4        = 4;
EncoderValueCompressionRle           = 5;
EncoderValueCompressionNone          = 6;
EncoderValueScanMethodInterlaced     = 7;
EncoderValueScanMethodNonInterlaced  = 8;
EncoderValueVersionGif87             = 9;
EncoderValueVersionGif89             = 10;
EncoderValueRenderProgressive        = 11;
EncoderValueRenderNonProgressive     = 12;
EncoderValueTransformRotate90        = 13;
EncoderValueTransformRotate180       = 14;
EncoderValueTransformRotate270       = 15;
EncoderValueTransformFlipHorizontal  = 16;
EncoderValueTransformFlipVertical    = 17;
EncoderValueMultiFrame               = 18;
EncoderValueLastFrame                = 19;
EncoderValueFlush                    = 20;
EncoderValueFrameDimensionTime       = 21;
EncoderValueFrameDimensionResolution = 22;
EncoderValueFrameDimensionPage       = 23;

'Pixel - Formats
PixelFormatIndexed         = $00010000;' Indexes into a palette
PixelFormatGDI             = $00020000;' Is a GDI-supported format
PixelFormatAlpha           = $00040000;' Has an alpha component
PixelFormatPAlpha          = $00080000;' Uses pre-multiplied alpha
PixelFormatExtended        = $00100000;' Uses extended color (16 bits per channel)
PixelFormatCanonical       = $00200000;' ?
PixelFormatUndefined       = 0;
PixelFormatDontCare        = 0;
PixelFormat1bppIndexed     = OR(OR(OR(1,(1<<8)),~PixelFormatIndexed),~PixelFormatGDI);
PixelFormat4bppIndexed     = OR(OR(OR(2,(4<<8)),~PixelFormatIndexed),~PixelFormatGDI);
PixelFormat8bppIndexed     = OR(OR(OR(3,(8<<8)),~PixelFormatIndexed),~PixelFormatGDI);
PixelFormat16bppGrayScale  = OR(OR(4,(16<<8)),~PixelFormatExtended);
PixelFormat16bppRGB555     = OR(OR(5,(16<<8)),~PixelFormatGDI);
PixelFormat16bppRGB565     = OR(OR(6,(16<<8)),~PixelFormatGDI);
PixelFormat16bppARGB1555   = OR(OR(OR(7,(16<<8)),~PixelFormatAlpha,~PixelFormatGDI);
PixelFormat24bppRGB        = OR(OR(8,(24<<8)),~PixelFormatGDI);
PixelFormat32bppRGB        = OR(OR(9,(32<<8)),~PixelFormatGDI);
PixelFormat32bppARGB       = OR(OR(OR(OR(10,(32<<8)),~PixelFormatAlpha),~PixelFormatGDI),~PixelFormatCanonical);
PixelFormat32bppPARGB      = OR(OR(OR(OR(11,(32<<8)),~PixelFormatAlpha),~PixelFormatPAlpha),~PixelFormatGDI);
PixelFormat48bppRGB        = OR(OR(12,(48<<8)),~PixelFormatExtended);
PixelFormat64bppARGB       = OR(OR(OR(OR(13,(64<<8)),~PixelFormatAlpha),~PixelFormatCanonical),~PixelFormatExtended);
PixelFormat64bppPARGB      = OR(OR(OR(OR(14,(64<<8)),~PixelFormatAlpha),~PixelFormatPAlpha),~PixelFormatExtended);
PixelFormatMax             = 15;

'EncoderParameterValueType - Enums
EncoderParameterValueTypeByte          = 1;
EncoderParameterValueTypeASCII         = 2;
EncoderParameterValueTypeShort         = 3;
EncoderParameterValueTypeLong          = 4;
EncoderParameterValueTypeRational      = 5;
EncoderParameterValueTypeLongRange     = 6;
EncoderParameterValueTypeUndefined     = 7;
EncoderParameterValueTypeRationalRange = 8;

'Status - Enums
Ok                        = 0;
GenericError              = 1;
InvalidParameter          = 2;
OutOfMemory               = 3;
ObjectBusy                = 4;
InsufficientBuffer        = 5;
NotImplemented            = 6;
Win32Error                = 7;
WrongState                = 8;
Aborted                   = 9;
FileNotFound              = 10;
ValueOverflow             = 11;
AccessDenied              = 12;
UnknownImageFormat        = 13;
FontFamilyNotFound        = 14;
FontStyleNotFound         = 15;
NotTrueTypeFont           = 16;
UnsupportedGdiplusVersion = 17;
GdiplusNotInitialized     = 18;
PropertyNotFound          = 19;
PropertyNotSupported      = 20;

'DashStyle - Enums
DashStyleSolid            = 0;
DashStyleDash             = 1;
DashStyleDot              = 2;
DashStyleDashDot          = 3;
DashStyleDashDotDot       = 4;
DashStyleCustom           = 5;

'PenAlignment - Enums
PenAlignmentCenter        = 0;
PenAlignmentInset         = 1;
PenAlignmentOutset        = 2;
PenAlignmentLeft          = 3;
PenAlignmentRight         = 4;

'LineCap - Enums
LineCapFlat             = 0;
LineCapSquare           = 1;
LineCapRound            = 2;
LineCapTriangle         = 3;
LineCapNoAnchor         = $10;
LineCapSquareAnchor     = $11;
LineCapRoundAnchor      = $12;
LineCapDiamondAnchor    = $13;
LineCapArrowAnchor      = $14;
LineCapCustom           = $ff;
LineCapAnchorMask       = $f0;

'ColorAdjustType-Enums
ColorAdjustTypeDefault  = 0;
ColorAdjustTypeBitmap   = 1;
ColorAdjustTypeBrush    = 2;
ColorAdjustTypePen      = 3;
ColorAdjustTypeText     = 4;
ColorAdjustTypeCount    = 5;
ColorAdjustTypeAny      = 6;

'Wrap-Modes
WrapModeTile            = 0;
WrapModeTileFlipX       = 1;
WrapModeTileFlipY       = 2;
WrapModeTileFlipXY      = 3;
WrapModeClamp           = 4;

'FontStyle -Enums
FontStyleRegular        = 0;
FontStyleBold           = 1;
FontStyleItalic         = 2;
FontStyleBoldItalic     = 3;
FontStyleUnderline      = 4;
FontStyleStrikeout      = 8;

'Matrix-Order - Enum
MatrixOrderPrepend      = 0;
MatrixOrderAppend       = 1;

'CompositingMode
CompositingModeSourceOver = 0;
CompositingModeSourceCopy = 1;
__________________
Gruss
Andreas

______________________
http://www.ampsoft.eu

Profan 3.3 - XProfanX2
Windows 95,98,ME,2000,XP
Vista - Windows 7 32 / 64 Bit

ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher
Andreas Miethe ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 12:44 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2