PaintCode

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • *ausgrab* Mann ist das Ding cool. :)

    Ich hab mich bisher immer vor Vektorgrafiken mit UIBezierPath gedrückt, da mir das händische Erstellen viel zu aufwändig erschien.
    Gerade der Import von Illustrator oder Photoshop Paths ist ein Knaller.

    Gerade mal ein wenig mit CAShapeLayer und CABasicAnimation rumgespielt.
    Einfach eine Form wie z.B. einen Kreis mit PaintCode erstellen, dann eine zweite Version mit einem verschobenen Vektorpunkt.

    Nun eine CABasicAnimation mit keyPath @"path" erstellen und als toValue die veränderte Version des BezierPaths angeben.
    Solang man die Anzahl der Knotenpunkte des Pfades beibehält, kann man so die wildesten Morph-Effekte machen.

    Diesen komische langgezogene iOS 6 Pull-2-Refresh Kringel hat man so in wenigen Minuten nachgebaut.
    Endlich wieder was neues zum Spielen. :whistling: (Als ob iOS 8 einen nicht schon genug beschäften würde.)

    Aber allein schon die Möglichkeit auflösungsunabhängige Versionen von Vekotgrafiken (statt umwandeln in name.png + name@2x.png) zu erstellen ist genial.
    Auch vom Speicherplatz ist die Version ein Witz gegenüber den 2 benötigten Pixelgrafiken:

    Quellcode

    1. // backspace BezierPath
    2. UIBezierPath* backspacePath = UIBezierPath.bezierPath;
    3. [backspacePath moveToPoint: CGPointMake(27.13, 21)];
    4. [backspacePath addLineToPoint: CGPointMake(11.5, 21)];
    5. [backspacePath addCurveToPoint: CGPointMake(1, 11.5) controlPoint1: CGPointMake(9.36, 21) controlPoint2: CGPointMake(1, 11.91)];
    6. [backspacePath addLineToPoint: CGPointMake(1, 10.5)];
    7. [backspacePath addCurveToPoint: CGPointMake(11.5, 1) controlPoint1: CGPointMake(1, 10.02) controlPoint2: CGPointMake(9.36, 1)];
    8. [backspacePath addLineToPoint: CGPointMake(27.13, 1)];
    9. [backspacePath addCurveToPoint: CGPointMake(31, 4.81) controlPoint1: CGPointMake(29.27, 1) controlPoint2: CGPointMake(31, 2.71)];
    10. [backspacePath addLineToPoint: CGPointMake(31, 17.19)];
    11. [backspacePath addCurveToPoint: CGPointMake(27.13, 21) controlPoint1: CGPointMake(31, 19.29) controlPoint2: CGPointMake(29.27, 21)];
    12. [backspacePath closePath];
    13. [backspacePath moveToPoint: CGPointMake(24.88, 6.92)];
    14. [backspacePath addLineToPoint: CGPointMake(23.58, 5.63)];
    15. [backspacePath addCurveToPoint: CGPointMake(22.88, 5.68) controlPoint1: CGPointMake(23.41, 5.45) controlPoint2: CGPointMake(23.09, 5.47)];
    16. [backspacePath addLineToPoint: CGPointMake(19.5, 9.06)];
    17. [backspacePath addLineToPoint: CGPointMake(16.11, 5.68)];
    18. [backspacePath addCurveToPoint: CGPointMake(15.41, 5.62) controlPoint1: CGPointMake(15.9, 5.47) controlPoint2: CGPointMake(15.59, 5.44)];
    19. [backspacePath addLineToPoint: CGPointMake(14.12, 6.91)];
    20. [backspacePath addCurveToPoint: CGPointMake(14.18, 7.61) controlPoint1: CGPointMake(13.94, 7.09) controlPoint2: CGPointMake(13.97, 7.4)];
    21. [backspacePath addLineToPoint: CGPointMake(17.56, 11)];
    22. [backspacePath addLineToPoint: CGPointMake(14.18, 14.39)];
    23. [backspacePath addCurveToPoint: CGPointMake(14.12, 15.09) controlPoint1: CGPointMake(13.97, 14.6) controlPoint2: CGPointMake(13.94, 14.91)];
    24. [backspacePath addLineToPoint: CGPointMake(15.41, 16.38)];
    25. [backspacePath addCurveToPoint: CGPointMake(16.11, 16.32) controlPoint1: CGPointMake(15.59, 16.56) controlPoint2: CGPointMake(15.9, 16.53)];
    26. [backspacePath addLineToPoint: CGPointMake(19.5, 12.94)];
    27. [backspacePath addLineToPoint: CGPointMake(22.88, 16.32)];
    28. [backspacePath addCurveToPoint: CGPointMake(23.58, 16.38) controlPoint1: CGPointMake(23.09, 16.53) controlPoint2: CGPointMake(23.4, 16.55)];
    29. [backspacePath addLineToPoint: CGPointMake(24.87, 15.08)];
    30. [backspacePath addCurveToPoint: CGPointMake(24.82, 14.38) controlPoint1: CGPointMake(25.05, 14.91) controlPoint2: CGPointMake(25.03, 14.59)];
    31. [backspacePath addLineToPoint: CGPointMake(21.44, 11)];
    32. [backspacePath addLineToPoint: CGPointMake(24.82, 7.62)];
    33. [backspacePath addCurveToPoint: CGPointMake(24.88, 6.92) controlPoint1: CGPointMake(25.03, 7.41) controlPoint2: CGPointMake(25.05, 7.1)];
    34. [backspacePath closePath];
    Alles anzeigen


    (Nur das weiße Shape mit transparentem Hintergrund, das rot ist die Hintergrundfarbe des Views)

    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tobse001 ()

  • Tobse001 schrieb:

    *ausgrab* Mann ist das Ding cool. :)

    Ich hab mich bisher immer vor Vektorgrafiken mit UIBezierPath gedrückt, da mir das händische Erstellen viel zu aufwändig erschien.
    Gerade der Import von Illustrator oder Photoshop Paths ist ein Knaller.

    Gerade mal ein wenig mit CAShapeLayer und CABasicAnimation rumgespielt.
    Einfach eine Form wie z.B. einen Kreis mit PaintCode erstellen, dann eine zweite Version mit einem verschobenen Vektorpunkt.

    Nun eine CABasicAnimation mit keyPath @"path" erstellen und als toValue die veränderte Version des BezierPaths angeben.
    Solang man die Anzahl der Knotenpunkte des Pfades beibehält, kann man so die wildesten Morph-Effekte machen.

    Diesen komische langgezogene iOS 6 Pull-2-Refresh Kringel hat man so in wenigen Minuten nachgebaut.
    Endlich wieder was neues zum Spielen. :whistling: (Als ob iOS 8 einen nicht schon genug beschäften würde.)

    Aber allein schon die Möglichkeit auflösungsunabhängige Versionen von Vekotgrafiken (statt umwandeln in name.png + name@2x.png) zu erstellen ist genial.
    Auch vom Speicherplatz ist die Version ein Witz gegenüber den 2 benötigten Pixelgrafiken:

    Quellcode

    1. // backspace BezierPath
    2. UIBezierPath* backspacePath = UIBezierPath.bezierPath;
    3. [backspacePath moveToPoint: CGPointMake(27.13, 21)];
    4. [backspacePath addLineToPoint: CGPointMake(11.5, 21)];
    5. [backspacePath addCurveToPoint: CGPointMake(1, 11.5) controlPoint1: CGPointMake(9.36, 21) controlPoint2: CGPointMake(1, 11.91)];
    6. [backspacePath addLineToPoint: CGPointMake(1, 10.5)];
    7. [backspacePath addCurveToPoint: CGPointMake(11.5, 1) controlPoint1: CGPointMake(1, 10.02) controlPoint2: CGPointMake(9.36, 1)];
    8. [backspacePath addLineToPoint: CGPointMake(27.13, 1)];
    9. [backspacePath addCurveToPoint: CGPointMake(31, 4.81) controlPoint1: CGPointMake(29.27, 1) controlPoint2: CGPointMake(31, 2.71)];
    10. [backspacePath addLineToPoint: CGPointMake(31, 17.19)];
    11. [backspacePath addCurveToPoint: CGPointMake(27.13, 21) controlPoint1: CGPointMake(31, 19.29) controlPoint2: CGPointMake(29.27, 21)];
    12. [backspacePath closePath];
    13. [backspacePath moveToPoint: CGPointMake(24.88, 6.92)];
    14. [backspacePath addLineToPoint: CGPointMake(23.58, 5.63)];
    15. [backspacePath addCurveToPoint: CGPointMake(22.88, 5.68) controlPoint1: CGPointMake(23.41, 5.45) controlPoint2: CGPointMake(23.09, 5.47)];
    16. [backspacePath addLineToPoint: CGPointMake(19.5, 9.06)];
    17. [backspacePath addLineToPoint: CGPointMake(16.11, 5.68)];
    18. [backspacePath addCurveToPoint: CGPointMake(15.41, 5.62) controlPoint1: CGPointMake(15.9, 5.47) controlPoint2: CGPointMake(15.59, 5.44)];
    19. [backspacePath addLineToPoint: CGPointMake(14.12, 6.91)];
    20. [backspacePath addCurveToPoint: CGPointMake(14.18, 7.61) controlPoint1: CGPointMake(13.94, 7.09) controlPoint2: CGPointMake(13.97, 7.4)];
    21. [backspacePath addLineToPoint: CGPointMake(17.56, 11)];
    22. [backspacePath addLineToPoint: CGPointMake(14.18, 14.39)];
    23. [backspacePath addCurveToPoint: CGPointMake(14.12, 15.09) controlPoint1: CGPointMake(13.97, 14.6) controlPoint2: CGPointMake(13.94, 14.91)];
    24. [backspacePath addLineToPoint: CGPointMake(15.41, 16.38)];
    25. [backspacePath addCurveToPoint: CGPointMake(16.11, 16.32) controlPoint1: CGPointMake(15.59, 16.56) controlPoint2: CGPointMake(15.9, 16.53)];
    26. [backspacePath addLineToPoint: CGPointMake(19.5, 12.94)];
    27. [backspacePath addLineToPoint: CGPointMake(22.88, 16.32)];
    28. [backspacePath addCurveToPoint: CGPointMake(23.58, 16.38) controlPoint1: CGPointMake(23.09, 16.53) controlPoint2: CGPointMake(23.4, 16.55)];
    29. [backspacePath addLineToPoint: CGPointMake(24.87, 15.08)];
    30. [backspacePath addCurveToPoint: CGPointMake(24.82, 14.38) controlPoint1: CGPointMake(25.05, 14.91) controlPoint2: CGPointMake(25.03, 14.59)];
    31. [backspacePath addLineToPoint: CGPointMake(21.44, 11)];
    32. [backspacePath addLineToPoint: CGPointMake(24.82, 7.62)];
    33. [backspacePath addCurveToPoint: CGPointMake(24.88, 6.92) controlPoint1: CGPointMake(25.03, 7.41) controlPoint2: CGPointMake(25.05, 7.1)];
    34. [backspacePath closePath];
    Alles anzeigen


    (Nur das weiße Shape mit transparentem Hintergrund, das rot ist die Hintergrundfarbe des Views)




    Schaut gut aus... Wie zeichnest du das "x" ? :)
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • DanielBocksteger95 schrieb:

    matz schrieb:

    Hi Tobse, nutzt du Version 1 oder 2?


    Funktioniert die Macheist Lizenz eigentlich mit 2? :-O :)


    Nein leider nicht. Auf deren Website steht du bekommst eine kostenlose 2-er Lizenz, wenn du die 1er nach dem 1. April gekauft hast.


    If you bought the previous version of PaintCode (1.3.3) after 01 April 2014, please contact us at support@pixelcut.com and we'll give you a free license for PaintCode 2.


    paintcodeapp.com/news
  • matz schrieb:

    DanielBocksteger95 schrieb:

    matz schrieb:

    Hi Tobse, nutzt du Version 1 oder 2?


    Funktioniert die Macheist Lizenz eigentlich mit 2? :-O :)


    Nein leider nicht. Auf deren Website steht du bekommst eine kostenlose 2-er Lizenz, wenn du die 1er nach dem 1. April gekauft hast.


    If you bought the previous version of PaintCode (1.3.3) after 01 April 2014, please contact us at support@pixelcut.com and we'll give you a free license for PaintCode 2.


    paintcodeapp.com/news


    Das Macheist Angebot war aber leider im januar oder? :(
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • DanielBocksteger95 schrieb:

    matz schrieb:

    DanielBocksteger95 schrieb:

    matz schrieb:

    Hi Tobse, nutzt du Version 1 oder 2?


    Funktioniert die Macheist Lizenz eigentlich mit 2? :-O :)


    Nein leider nicht. Auf deren Website steht du bekommst eine kostenlose 2-er Lizenz, wenn du die 1er nach dem 1. April gekauft hast.


    If you bought the previous version of PaintCode (1.3.3) after 01 April 2014, please contact us at support@pixelcut.com and we'll give you a free license for PaintCode 2.


    paintcodeapp.com/news


    Das Macheist Angebot war aber leider im januar oder? :(


    Jop ... leider ^^


    @Michael Habe die 2-er Version mal in ein paar Videos gesehen, macht schon einen super Eindruck.

    Was hakelt denn an der 1er?
  • DanielBocksteger95 schrieb:


    Schaut gut aus... Wie zeichnest du das "x" ? :)


    Das ist ein kombinierter Pfad aus Photoshop.
    Das rote X ist also auch der rote Hintergrund den man durchsieht, da in dem weißen Shape ein X-förmiges Loch ist.

    matz schrieb:

    Hi Tobse, nutzt du Version 1 oder 2?

    Hab gestern die Trial von der 2er geladen. Bei Macheist hab ich das verpasst.
    Werd die Tage noch ein wenig damit rumspielen, aber denke das Ding ist so gut wie gekauft.

    Ich bin ja aus der Design Ecke und hab das Programmieren mit der Zeit vom Hobby zum Nebenverdienst gemacht.
    Hab mir da schon oft schwergetan Ideen mit Animationen umzusetzen.
    Ist dann halt meist auf Größenänderungen oder Drehung von Objekten beschränkt gewesen.
    Allein skalieren sieht dann mit Vektorpfaden natürlich schon weit besser aus, Transformationen bringen ganz neue Ideen.

    Mal sehen was mir die Tage da so einfällt. :)

    Michael schrieb:

    matz schrieb:

    Hi Tobse, nutzt du Version 1 oder 2?

    Ist die Version 2 eigentlich auch noch so hakelig?

    Also bei meinen gestrigen Tests kam sie mir stabil und flüssig vor.
    Nur die Berechnung der Pfade beim Import dauerte etwas.
  • gritsch schrieb:

    bringen dies von <a href="http://www.fastspring.com" class="externalURL" rel="nofollow" target="_blank">fastspring.com</a> auch nicht zustande mir eine korrekte rechnung mit 0 % MwSt auszustellen?
    nichtmal den firmennamen und/oder VAT-ID kann man angeben. Mac App Store ist aus gleichem Grund keine option (warum soll ich 75 euro aus meiner…

    Fastspring wundert mich jetzt nicht. Sind bei mir ein No-Go.

    Für Einkäufe im Mac App Store, bekommt man aber soweit ich weiss Rechnungen mit MwSt. und Ust-ID.
    * Kann Spuren von Erdnüssen enthalten.
  • NSObject schrieb:

    gritsch schrieb:

    bringen dies von <a href="http://www.fastspring.com" class="externalURL" rel="nofollow" target="_blank">fastspring.com</a> auch nicht zustande mir eine korrekte rechnung mit 0 % MwSt auszustellen?
    nichtmal den firmennamen und/oder VAT-ID kann man angeben. Mac App Store ist aus gleichem Grund keine option (warum soll ich 75 euro aus meiner…

    Fastspring wundert mich jetzt nicht. Sind bei mir ein No-Go.

    Für Einkäufe im Mac App Store, bekommt man aber soweit ich weiss Rechnungen mit MwSt. und Ust-ID.


    also vom iTunes store (habe numbers gekauft) hab ich nur eine "ricevuta" (also einen "Beleg") bekommen. ohne auszeichnung der mehrwehrsteuer (keine angabe) und ohne meine VAT-ID.
    ob das beim Mac-App-Store anders ist wage ich zu bezweifeln!?
  • vor 1-2 Jahren war das so, dass man für Käufe im MAS bei Apple explizit eine Rechnung mit ausgewiesener MwSt. anfordern musste. Dazu musste man den Support mit der Rechnungsnummer anschreiben.

    Weiss aber nicht, ob sich das gebessert hat.
    Knowing is not enough, we must apply.
    Willing is not enough, we must do.
  • gritsch schrieb:

    NSObject schrieb:

    gritsch schrieb:

    bringen dies von <a href="http://www.fastspring.com" class="externalURL" rel="nofollow" target="_blank">fastspring.com</a> auch nicht zustande mir eine korrekte rechnung mit 0 % MwSt auszustellen?
    nichtmal den firmennamen und/oder VAT-ID kann man angeben. Mac App Store ist aus gleichem Grund keine option (warum soll ich 75 euro aus meiner…

    Fastspring wundert mich jetzt nicht. Sind bei mir ein No-Go.

    Für Einkäufe im Mac App Store, bekommt man aber soweit ich weiss Rechnungen mit MwSt. und Ust-ID.


    also vom iTunes store (habe numbers gekauft) hab ich nur eine "ricevuta" (also einen "Beleg") bekommen. ohne auszeichnung der mehrwehrsteuer (keine angabe) und ohne meine VAT-ID.
    ob das beim Mac-App-Store anders ist wage ich zu bezweifeln!?

    Wir haben in den letzen Jahren Final Cut Pro X und vieles mehr aus diesem Ökosystem dazu gekauft.

    Beim Geschäftskunden Account ist deine Firma und VAT ID hinterlegt, da kann man die Rechnungen selbst ausdrucken. Wenn Du keinen hast, ruf halt einfach mal dort an (store.apple.com/de-business/br…ns/apple_business_experts) und gib denen die Bestellnummer, dann bekommst Du die Rechnung als PDF.

    Ansonsten bleibt immer noch die von marceo genannte Möglichkeit, beim normalen Support (apple.com/de/support/mac/app-store/) zu jeder Bestellung die Rechnung mit ausgewiesener Mehrwertsteuer jeweils separat anzufordern. - Haben wir anfangs auch so gemacht.
    * Kann Spuren von Erdnüssen enthalten.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von NSObject ()

  • NSObject schrieb:

    gritsch schrieb:

    NSObject schrieb:

    gritsch schrieb:

    bringen dies von <a href="http://www.fastspring.com" class="externalURL" rel="nofollow" target="_blank">fastspring.com</a> auch nicht zustande mir eine korrekte rechnung mit 0 % MwSt auszustellen?
    nichtmal den firmennamen und/oder VAT-ID kann man angeben. Mac App Store ist aus gleichem Grund keine option (warum soll ich 75 euro aus meiner…

    Fastspring wundert mich jetzt nicht. Sind bei mir ein No-Go.

    Für Einkäufe im Mac App Store, bekommt man aber soweit ich weiss Rechnungen mit MwSt. und Ust-ID.


    also vom iTunes store (habe numbers gekauft) hab ich nur eine "ricevuta" (also einen "Beleg") bekommen. ohne auszeichnung der mehrwehrsteuer (keine angabe) und ohne meine VAT-ID.
    ob das beim Mac-App-Store anders ist wage ich zu bezweifeln!?

    Wir haben in den letzen Jahren Final Cut Pro X und vieles mehr aus diesem Ökosystem dazu gekauft.

    Beim Geschäftskunden Account ist deine Firma und VAT ID hinterlegt, da kann man die Rechnungen selbst ausdrucken. Wenn Du keinen hast, ruf halt einfach mal dort an (store.apple.com/de-business/br…ns/apple_business_experts) und gib denen die Bestellnummer, dann bekommst Du die Rechnung als PDF.

    Ansonsten bleibt immer noch die von marceo genannte Möglichkeit, beim normalen Support (apple.com/de/support/mac/app-store/) zu jeder Bestellung die Rechnung mit ausgewiesener Mehrwertsteuer jeweils separat anzufordern. - Haben wir anfangs auch so gemacht.


    das kanns doch wohl nicht sein... (in welchem jahrtausend leben wir denn?)
  • NSObject schrieb:

    Was genau? Du bekommst eine Rechnung und hast zwei Optionen dafür.

    Hast Du aktuell mal was geschäftlich über Amazon bestellt? :S


    eben bekomme ich keine rechnung sondern nur einen beleg und muss dann zeit investieren um bei apple anzurufen, denen dann die belegnummer nennen (mach du das mal in einer sprache die nicht deine muttersprache ist) und dann hoffen dass sie sich auch bei unter 100 euro die mühe machen die rechnung manuell auszustellen, den beleg zu stornieren etc. warum funktioniert das nicht automatisch? wir reden hier ja von apple und nicht von amazon wo eine million unterschiedlicher händler verkaufen.

    ich selbst nicht, ich habe aber mal für eine andere firma ca 10 verschiedene iPad eingabestifte bei ca 7 verschiedenen händlern dort bestellt. die haben stunden gebraucht um nur von der hälfte eine rechnung zu bekommen.

    sowas muss in der heutigen zeit echt nicht sein!
  • gritsch schrieb:

    eben bekomme ich keine rechnung sondern nur einen beleg und muss dann zeit investieren um bei apple anzurufen, denen dann die belegnummer nennen (mach du das mal in einer sprache die nicht deine muttersprache ist) und dann hoffen dass sie sich auch bei unter 100 euro die mühe machen die rechnung manuell auszustellen, den beleg zu stornieren etc. warum funktioniert das nicht automatisch? wir reden hier ja von apple und nicht von amazon wo eine million unterschiedlicher händler verkaufen.

    ich selbst nicht, ich habe aber mal für eine andere firma ca 10 verschiedene iPad eingabestifte bei ca 7 verschiedenen händlern dort bestellt. die haben stunden gebraucht um nur von der hälfte eine rechnung zu bekommen.

    sowas muss in der heutigen zeit echt nicht sein!

    Nachdem der Steuerberater den Geschäftsaccount angelegt hat, kann ich mich nicht mehr beklagen. Das benötigt nur noch zwei Klicks.

    Bei Amazon und den Händlern ist eine korrekte Rechnung ein Glücksspiel geworden, welches ich in 2/3 der Fällen im ersten Anlauf verliere. Das kostet jedes mal derart viel Zeit den ganzen Mist korrigieren zu lassen. Das macht keinen Spass mehr. Insbesondere, wo Amazon auch noch den Prime Service zurückfährt. Ab nächstem Jahr mal nach einer Alternative suchen.
    * Kann Spuren von Erdnüssen enthalten.