Verzerrung von Rechtecken
#1
Hallo,
ich bin immer noch beim Dispersionseffekt, da ich monatelang keine Zeit hatte, mich um die Lösung zu kümmern...

Habe jetzt ein Bitmap in Corel-Draw X5 importiert und mit Hilfe des Millimeterpapiers lauter kleine verschiebbare Rechtecke erhalten. Jetzt möchte ich die Rechtecke bearbeiten.
Größer/kleiner = kein Problem
Verzerren, also eine einzelne Ecke rausziehen, wie das in Photopaint super geht...finde keine Lösung

Nach googeln und Hilfethemen anschauen und nix finden, frage ich jetzt einfach..
Kann man diese Art Verzerrung überhaupt in Corel Draw machen?


Vielleicht ist es ganz hilfreich zu erklären, was ich mit dieser Verzerrung machen will:


Ich möchte einzelne Teile des in REchtecke zerlegten Fotos in einen Buchstaben legen (z.B. -A-) und aus diesen den Buchstaben zusammensetzen (wie in einer Collage). Ich möchte NICHT den Buchstaben aus einem Foto herausschneiden.

Danke schonmal für die Antwort!

Sabine
Zitieren
#2
Hallo Sabine,

du kannts ein Bitmap in Draw nicht verzerren. (erst ab Suite 2018 mit der Funktion Hülle)

Du kannst zwar das Rechteck verzerren indem du es in Kurven umwandelst und dann mit dem Formwerkzeug die Knoten verschiebst aber das Bitmap bleibt wie es ist.
Wenn du also ein Bitmap verzerren willst musst du das in PP machen das kannst du direkt aus Draw mit Bitmap bearbeiten machen.
Filter kannst du allerdings direkt in Draw über das Menü Bitmap anwenden.

Wenn du mit Bitmaps oder auch anderen Objekten einen Buchstaben füllen willst würde ich dir die Funktion Powerclip ans Herz legen.
Du schreibst einen Buchstaben, wählst dann ein Bitmap aus und wählst Powerclip in Behälter platzieren
(ist ja bei deiner X5 H&S so, wie wir HIER schon festgestellt haben)
Dein Bitmap wird so temporär in den Buchstaben gelegt.
Mit Powerclip bearbeiten kannst du dann dein Bitmap im Buchstaben verschieben, vergrößern oder auch in PP bearbeiten.
Du kannst natürlich auch mehrmals etwas in einen Powerclip legen bzw. auch mehrere Objekte auf einmal und mit Powerclip bearbeiten kannst du diese dann im Buchstaben arrangieren.

Gruß
Norre

Ps. bin letztens über das Tool ShapeX gestolpert mit dem man Formen automatisch mit Bildern füllen kann.
Buchstaben als PNG (schwarz oder Graustufen, HG transparent) aus Draw exportieren und mit Bildern füllen lassen.
Kannst dirs ja mal ansehen
http://www.reasyze.com/?page_id=315
Zitieren
#3
Wenn ich das richtig verstanden habe:
Wandle das jeweilige Rechteck in Kurven um (Strg+Q) und verwende dann das Form-Werkzeug (F10).

miss_marple
Zitieren
#4
Super danke,
Die Powerclipgeschichte hatte ich schon wieder ganz verdrängt. Das ist für meine Collagen-Technik, die mir vorschwebt ideal.
Dann werde ich mich mal ans basteln begeben.
Viele liebe Grüße und einen schönen Sonntag noch!
Sabine
Zitieren
#5
Hallo Sabine,
norre schrieb:...du kannts ein Bitmap in Draw nicht verzerren. (erst ab Suite 2018 mit der Funktion Hülle)...

wenn es sich nur um ein Rechteck (genauer: eine Kurve mit 4 Knoten) handelt, kannst du vielleicht ein Makro in Deinen Arbeitsablauf einbauen, welches PP für die Verzerrung verwendet:

[Bild: pclverzerren3cryi.gif]

Code:
Sub start()
    Dim sel As ShapeRange
    Dim Bitmap As Shape, Kurve As Shape
    
    Set sel = ActiveSelectionRange
    If sel.Shapes.Count = 2 Then
        If sel.Shapes(1).Type = cdrBitmapShape And sel.Shapes(2).Type = cdrCurveShape And sel.Shapes(2).DisplayCurve.Nodes.Count = 4 Then
            Set Bitmap = sel.Shapes(1)
            Set Kurve = sel.Shapes(2)
            Call Verzerren(Kurve, Bitmap)
        ElseIf sel.Shapes(2).Type = cdrBitmapShape And sel.Shapes(1).Type = cdrCurveShape And sel.Shapes(1).DisplayCurve.Nodes.Count = 4 Then
            Set Bitmap = sel.Shapes(2)
            Set Kurve = sel.Shapes(1)
            Call Verzerren(Kurve, Bitmap)
        Else
            MsgBox "Bitte eine Kurve und eine Bitmap auswählen!", vbCritical, "Fehler!"
        End If
    Else
    MsgBox "Bitte eine Kurve und eine Bitmap auswählen!", vbCritical, "Fehler!"
    End If
End Sub

Sub Verzerren(Kurve As Shape, Bitmap As Shape)
    Dim ImpBitmap As Shape
    Dim appPaint As New PHOTOPAINT.Application
    Dim filter As ExportFilter
    Dim docPP As PHOTOPAINT.Document
    Dim BBKurve As Rect
    Dim Randzugabe As Integer
    Dim UDP As String
    Dim x1 As Long, y1 As Long, x2 As Long, y2 As Long, x3 As Long, y3 As Long, x4 As Long, y4 As Long
    
    UDP = Application.UserDataPath
    u = ActiveDocument.Unit
    Set BBKurve = Kurve.BoundingBox
    
    x1 = Round(ConvertUnits(Kurve.Curve.Nodes(1).PositionX, u, cdrPixel) - ConvertUnits(BBKurve.Left, u, cdrPixel), 0)
    y1 = Round(ConvertUnits(BBKurve.Top, u, cdrPixel) - ConvertUnits(Kurve.Curve.Nodes(1).PositionY, u, cdrPixel), 0)
    x2 = Round(ConvertUnits(Kurve.Curve.Nodes(2).PositionX, u, cdrPixel) - ConvertUnits(BBKurve.Left, u, cdrPixel), 0)
    y2 = Round(ConvertUnits(BBKurve.Top, u, cdrPixel) - ConvertUnits(Kurve.Curve.Nodes(2).PositionY, u, cdrPixel), 0)
    x3 = Round(ConvertUnits(Kurve.Curve.Nodes(3).PositionX, u, cdrPixel) - ConvertUnits(BBKurve.Left, u, cdrPixel), 0)
    y3 = Round(ConvertUnits(BBKurve.Top, u, cdrPixel) - ConvertUnits(Kurve.Curve.Nodes(3).PositionY, u, cdrPixel), 0)
    x4 = Round(ConvertUnits(Kurve.Curve.Nodes(4).PositionX, u, cdrPixel) - ConvertUnits(BBKurve.Left, u, cdrPixel), 0)
    y4 = Round(ConvertUnits(BBKurve.Top, u, cdrPixel) - ConvertUnits(Kurve.Curve.Nodes(4).PositionY, u, cdrPixel), 0)
    
    ActiveDocument.BeginCommandGroup "Verzerren"
    
    Bitmap.Copy
    Set docPP = appPaint.CreateDocumentFromClipboard
    
    With docPP
        .Resample _
         ConvertUnits(Kurve.SizeWidth, ActiveDocument.Unit, cdrPixel), _
         ConvertUnits(Kurve.SizeHeight, ActiveDocument.Unit, cdrPixel), True
        .Mask.SelectAll
        .ActiveLayer.Distort x1, y1, x2, y2, x3, y3, x4, y4, True
        .SaveAs(UDP & "~temp.jpg", cdrJPEG).Finish
        .Close
    End With
    ActiveLayer.Import UDP & "~temp.jpg"
    Set ImpBitmap = ActiveSelection
    
    With ImpBitmap
        .SizeWidth = Kurve.SizeWidth
        .SizeHeight = Kurve.SizeHeight
        .Flip cdrFlipVertical
        .AddToPowerClip Kurve, cdrTrue
    End With
    
    ActiveDocument.EndCommandGroup
    
    Kill UDP & "~temp.jpg"
End Sub
Das Makro verwendet die Zwischenablage. Dort sollten also keine wichtigen Daten liegen!
(getestet mit X4)

Gruß

Koter
Zitieren
#6
Hallo Koter,

Sabine hat oben vergessen zu erwähnen dass sie die X5 H&S hat, schau HIER
Da wird das leider nix mit dem Macro.

Trotzdem Danke dafür, kann Mann sicher brauchen :lol:

Gruß
Norre
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Verdrehung, verwindung, Verzerrung nashua 7 4.439 24.11.2009, 10:00
Letzter Beitrag: Hartmut
  Grafik durch Verzerrung an Linie anpassen Bergpartisan 3 3.917 11.01.2009, 18:56
Letzter Beitrag: belli